Java math.random,仅生成0?

以下代码仅产生0;-;

我究竟做错了什么?

public class RockPaperSci {

public static void main(String[] args) {

//Rock 1

//Paper 2

//Scissors 3

int croll =1+(int)Math.random()*3-1;

System.out.println(croll);

}

}

编辑,另一张海报建议修复它。int croll = 1 +(int)(Math.random()* 4-1);

感谢大家!

回答:

你正在使用Math.random()哪个州

返回double带有正号(大于或等于0.0并小于)的值1.0

你正在将结果转换为int,返回值的整数部分,即0。

然后1 + 0 - 1 = 0。

考虑使用 java.util.Random

Random rand = new Random();

System.out.println(rand.nextInt(3) + 1);

以上是 Java math.random,仅生成0? 的全部内容, 来源链接: utcz.com/qa/417032.html

回到顶部