编程题:
1:获取10个1-20之间的随机数,要求不能重复
public class Homework1 {
public static void main(String[] args) {
//创建TerrSet集合
TreeSet<Integer> ts = new TreeSet<Integer>();
Random r = new Random();
int count = 0;
while(count < 10) {
//产生1——20随机数
int number = r.nextInt(20) + 1;
if (!ts.contains(number)) {
ts.add(number);
count++;
}
}
//遍历
for (Integer in : ts) {
System.out.print(in+" ");
}
}
}
2:键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值
public static void main(String[] args) {
// 创建键盘录入数据对象
Scanner sc = new Scanner(System.in);
// 键盘录入多个数据,不知道多少个,用集合存储
ArrayList<Integer> array = new ArrayList<Integer>();
while (true) {
System.out.println("请输入数据:");
int number = sc.nextInt();
if (number != 0) {
array.add(number);
} else {
break;
}
}
// 把集合转成数组
// public <T> T[] toArray(T[] a)
Integer[] i = new Integer[array.size()];
array.toArray(i);
// 对数组排序
Arrays.sort(i);
// 获取该数组中的最大索引的值
System.out.println( "最大值是:" + i[i.length - 1]);
for(Integer in:i) {
System.out.print(in+" ");
}
}
}