import javautilArrays;
public class Demo {
public static void main(String[] args) {
int number;
int[] array = new int[] { 6, 3, 12, 7, 2, 5, 20, 45, 31, 87, 11, 66, 59, 71, 21 };
int[] arr = new int[] { 0, 0, 0, 0, 0, 0 };
// 随机从数组array中抽取6个数字
int k = 0;
do {
number = (int) (Mathrandom() 15);//随机的是数组的下标0~14
boolean b = true ;
for (int i = 0; i < arrlength; i++) {
if (arr[i] == array[number]) {//然后比较的时候,是用下标去找数,而不是用下标进行比较
//arr[i] = number是错的!
b=false;//如果找到有一样的数,那么判断这次随机无效,false
}
// else{ 这个else在for循环内部,for循环6次,k就循环了6次那么这个循环do while(k<6)就没办法循环了
// arr[k] = number;
// k++;
// }
}
if(b){//如果这次随机有效,那么才给arr[k]进行赋值
arr[k] = array[number];//同理,赋值 也不是 arr[k]=number number只是随机的array的下标
k++;
}
} while (k < 6);
Systemoutprintln(ArraystoString(arr));
}
}
输出
[59, 66, 71, 87, 20, 31]当然可以到 6 的。
5 余 6 就是 5,再加 1 就是 6。
但是一般用 Random 类。给你一个Demo:
import javautilRandom;
public class RandomDemo {
public static void main (String args[]) {
Random rnd = new Random();
int n = rndnextInt(6) + 1; // nextInt(int x) 返回 0~(x-1) 之间的随机数。
Systemoutprintln(n);
}
}
Random rand = new Random();
for(int i=1;i<=6;i++){
Systemoutprintln(randnextInt(100)); //生成0-100以内的随机数
}
这样就能输出6个随机0-100之间的整数了
1新建工程和类,在类中导入包import javautil。
2在主函数main()里写出生成64位随机数的代码:
// 随机数类实例化
Random random = new Random();
// 64位数字数组
int[] number = new int[64];
// 循环变量
int i = 0;
// 生成64位随机数算法
for (i = 0; i < 64; i++) {
if (number[i] == 0) {
// 产生0-10之间的随机小数,强制转换成正数
number[i] = (int) (Mathrandom() 10);
}
// 输出数字
Systemoutprint(number[i] + "");
}
3点击绿色的运行按钮测试。
用javautilRandom 类比较好用Random r=new Random();int i=rnextInt(6)+1;生成1到6的数字应该机率比较相等;(int)(Mathrandom()10)%6+1产生0到9内的整数再 得到1,2,3,4的概率大些因为(int)(Mathrandom()10)%得到的数是从0到9;0%6+1=1。。。。。。5%6+1=6……6%6+1=1。。。。9%6+1=4;所以不相等另一种 (int)(Mathrandom()6)+1从01到09 6得到数是int型是0,1,1,2,3,3,4,4,5,+
以上就是关于java获取不重复随机数问题代码如下,我输出的是6个零全部的内容,包括:java获取不重复随机数问题代码如下,我输出的是6个零、java在1到6中产生随机数、怎么样才能用java写出生成4-6的随机整数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)