Random
-
代码演示:
public class RandomTest { public static void main(String[] args) { //创建随机数对象 Random random=new Random(); //随机产生一个int类型取值范围内的数字 System.out.println(random.nextInt()); //产生[0,100]之间的随机数。不能产生101 //nextInt翻译为:下一个int类型的数据是101,表示只能取到100. System.out.println(random.nextInt(101)); //不包括101 } }
-
编写程序,生成5个不重复的随机数,存储到数组中:
public class RandomText02 { public static void main(String[] args) { Random random=new Random(); int[] arr=new int[5]; for (int i=0;i<arr.length;i++){ arr[i]=-1; //数组元素都给一个默认值-1 } //循环,生成随机数 int index=0; while (index<arr.length){ //生成随机数 int num= random.nextInt(5); //只能生成[0,4]的随机数 System.out.println("生成的随机数是:"+num); //判断arr数组中有没有这个num //如果没有这个num就放进去。 if (!contains(arr,num)){ // arr[index]=num; // index++; arr[index++]=num; } } //遍历以上数组 for (int a:arr ) { System.out.println(a); } } //单独编写一个方法,这个方法专门判断数组包含某个元素 /** * * @param arr 数组 * @param key 元素 * @return true:包含 false:不包含 */ public static boolean contains(int[]arr,int key){ /* 这个方案有bug,(排序出现问题) // 对数组进行升序 Arrays.sort(arr); // 进行二分法查找 //二分法查找的结果>=0 ,说明这个元素找到了,找到了表示存在! return Arrays.binarySearch(arr,key)>=0; */ for (int i=0;i<arr.length;i++){ if (arr[i]==key){ return true; //条件成立表示包含:返回true } } return false; //不包含 } }