【发布时间】:2013-10-03 14:49:57
【问题描述】:
以下代码只产生一个 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);
谢谢大家!
【问题讨论】:
-
docs.oracle.com/javase/7/docs/api/java/lang/… Math.random 返回一个介于 0.0 和 1.0 之间的双精度数,因此它的整数值始终为 O。
-
参见bmanolov.free.fr/javaoperators.php 强制转换的优先级高于其他操作
标签: java