如何在每次运行程序时以随机顺序生成0,1,2,3(甚至整数),不重复?
如在,运行这个for循环:for(int x=1; x
我被要求使用math.random,但我无法解决这个问题。最接近的是:
for( int x = 1; x < 5; x++ )
{
double rand = (Math.random() * 4) + 1 ;
int rand1 = (int) rand;
if( rand1 == 0 )
{
System.out.println( songs[rand1].title );
}
if ( rand1 == 1 )
{
System.out.println( songs[rand1].title );
}
if( rand1 == 2 )
{
System.out.println( songs[rand1].title );
}
if( rand1 == 3 )
{
System.out.println( songs[rand1].title );
}
}
这永远不会给我第一个数字,因为它只有1-4,我相信当它超过4时会给我一个错误。
期望的输出是四首歌曲中的每一首每次都以随机顺序打印一次。
你用这一行随机化它
double rand = (Math.random() * 4) + 1 ;
这意味着“从0-1中创建数字并乘以4),所以它创建0-3.999999999,然后加1,所以值是1-4.99999999。
解决方案:
double rand = (Math.random() * 4)
或者您可以使用Random类,它可以返回范围内int数:
Random r = new Random();
r.nextInt(4);
不重复的完全解决方案(抱歉,之前没有看到)
Random r = new Random();
boolean end;
int randomNumber = -1;
int numberOfNumbers = 4;
for (int i = 0; i < 1000; i++) {
end = false;
while ( (end == false) && (numberOfNumbers > 1)) {
int x = r.nextInt(numberOfNumbers);
if (x != randomNumber) {
end = true;
randomNumber = x;
}
}
System.out.println("Randomized this nubmer " + randomNumber);
}
当您使用数学随机时
boolean end;
int randomNumber = -1;
int numberOfNumbers = 4;
for (int i = 0; i < 1000; i++) {
end = false;
while ( (end == false) && (numberOfNumbers > 1)) {
int x = (int) (Math.random()*numberOfNumbers);
if (x != randomNumber) {
end = true;
randomNumber = x;
}
}
System.out.println("Randomized this nubmer " + randomNumber);
}
首先,通过添加 1
,将随机数的范围从 0-3 移动到 1-4。不要添加 1。
但是为了解决你的问题,为了获得不重复的数字,你需要洗牌数字。创建一个包含 {0, 1, 2, 3}
的数组,并多次交换 2 个随机索引的值。
我想使用Math.Random生成数字1-4(整整数)。我只成功地获得了双倍或大双倍,无法弄清楚如何对最小和最大设置限制。 math.random();=0-1之间的东西作为双倍? 我见过一些人这样建议:num=math.random()*60+25;但不知道它是怎么做的,或者它是如何工作的。
问题内容: 如何使用Math.random生成随机整数? 我的代码是: 它显示的全部是0,我该如何解决? 问题答案: 将abc转换为整数。
本文向大家介绍C++生成不重复的随机整数,包括了C++生成不重复的随机整数的使用技巧和注意事项,需要的朋友参考一下 C++生成不重复的随机数,供大家参考,具体内容如下 给定正整数的范围[n,m],生成k个不重复的随机数字。 IDE是vs013。 运行结果: 这个程序可以用于班级内部按照学号进行随机抽签。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
当您导入java.util.random之后,您可以通过两种方式生成随机整数和随机double。 您可以创建Random类的一个实例
本文向大家介绍JavaScript中用于生成随机数的Math.random()方法,包括了JavaScript中用于生成随机数的Math.random()方法的使用技巧和注意事项,需要的朋友参考一下 此方法返回0(含)和1(不包括)之间的随机数 语法 下面是参数的详细信息: NA 返回值: 返回0(含)和1(不包括)之间的随机数 例子: 这将产生以下结果:
为什么这个程序的输出是而不是 当你除以3/2,它等于1.5,我认为Java只取整数的第一个值。发生什么事?