Random类
Posted yxc-160206
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Random类相关的知识,希望对你有一定的参考价值。
Random类
产生随机数字
public class RandomTest01 {
public static void main(String[] args) {
// 创建随机对象
Random random = new Random();
// 随机产生一个int类型取值范围内的随机数字
int num1=random.nextInt();
System.out.println(num1);
// 产生[1~100]之间的随机数。不能产生101.
// nextInt翻译为:下一个int类型的数据是101,表示只能取到100
int num2=random.nextInt(101);
System.out.println(num2);
}
}
产生5个不重复的随机数字
/*
编写程序,生成5个不重复的随机数字。最终生成5个不重复的随机数字放入数组中。
*/
public class RandomTest {
public static void main(String[] args) {
// 创建Random对象
Random random = new Random();
// 准备一个长度位5的一维数组
int[] arr = new int[5];//默认值都是0
for (int i = 0; i < arr.length; i++) {
arr[i] = -1;
}
// 循环,生成随机数
int index=0;
while(index < arr.length){
// 生成随机数
int num = random.nextInt(101);
// 判断数组中有没有这个num
// 如果没有这个num,就放进去
if(!contains(arr,num)){
arr[index++]=num;
}
}
// 遍历以上数组
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
/**
* 单独编写一个方法,这个方法专门用来判断数组中是否包含某个元素。
* @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;
}
}
// 执行到这里就表示不包含
return false;
}
}
以上是关于Random类的主要内容,如果未能解决你的问题,请参考以下文章