怎么产生int类型随机数。
Random r = new Random(); int i = r.nextInt();
怎么产生某个范围之内的int类型随机数。
Random r = new Random(); int i = r.nextInt(101); // 产生[0-100]的随机数。
示例代码:
public class RandomTest01 { public static void main(String[] args) { Random random = new Random(); int i = random.nextInt(); System.out.println(i); int i1 = random.nextInt(101); System.out.println(i1); } }
运行结果:
编写程序,生成5个不重复的随机数。重复的话重新生成。
最终生成的5个随机数放到数组中,要求数组中的这5个随机数不重复。
实现代码:
public class RandomTest02 { public static void main(String[] args) { //创建随机数对象 Random random = new Random(); //创建一个容量为5的数组 int[] s = new int[5]; for(int i=0;i<s.length;i++){ s[i] = -1; } //循环遍历数组 int index = 0; while(index < s.length) { // 生成随机数 //int num = random.nextInt(101); //int num = random.nextInt(6); // 只能生成[0-5]的随机数! int num = random.nextInt(5);// 只能生成[0-3]的随机数!永远都有重复的,永远都凑不够5个。 System.out.println("生成随机数:" +num); // 判断arr数组中有没有这个num // 如果没有这个num,就放进去。 if (!contians(s,num)) { s[index] = num; index++; } } // 遍历以上的数组 for(int i=0;i<s.length;i++){ System.out.println(s[i]); } } //定义一个判断输入的随机数与数组中的数是否重复的方法 public static boolean contians(int[] arr,int key){ for(int i=0;i<arr.length;i++){ if(arr[i] == key){ return true; } } return false; } }
测试: