每次运行程序时,如何不重复地随机生成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时,这给我一个错误。
所需的输出是四首歌曲中的每首歌曲每次随机打印一次。
最佳答案
首先,通过添加1
,将随机数的范围从0-3更改为1-4。不要添加1。
但是要解决您的问题,要获得非重复的数字,您需要对数字进行洗牌。创建一个{0, 1, 2, 3}
数组,并多次交换2个随机索引的值。
关于java - 每次使用Math.random()以随机顺序生成0、1、2、3(偶数个整数)(不重复)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19284581/