1:获取10个1-20之间的随机数,要求不能重复
package work1;
import java.util.ArrayList;
import java.util.Random;
public class RandomTest {
public static void main(String[] args) {
//创建产生随机数的对象
Random r = new Random();
//创建一个存储随机数的集合
ArrayList<Integer> array = new ArrayList<Integer>();
//定义一个变量
int i = 0;
//判断变量是否小于10
while(i<10){
//产生一个随机数
int num = r.nextInt(20)+1;
//判断该随机数在集合中是否存在
if(!array.contains(num)){
array.add(num);
i++;
}
}
//遍历集合
for(Integer m : array){
System.out.println(m);
}
}
}
2:键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值
package work2;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class ArrayListTest {
public static void main(String[] args) {
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
//用集合存储键盘录入数据
ArrayList<Integer> array = new ArrayList<Integer>();
//判断以0结束
while(true){
System.out.println("请输入数据:");
int num = sc.nextInt();
if(num!=0){
array.add(num);
}else{
break;
}
}
Integer [] i= new Integer[array.size()];
array.toArray(i);
System.out.println(i);
//对数组排序
Arrays.sort(i);
//获取该数组中的最大索引值
System.out.println("数组是:"+arrayToString(i)+"最大值是:"+i[i.length-1]);
}
public static String arrayToString(Integer[] i){
StringBuilder sb = new StringBuilder();
sb.append("[");
for(int x = 0;x < i.length;x++){
if(x==i.length-1){
sb.append("]");
}else{
sb.append(i[x]).append(",");
}
}
return sb.toString();
}
}