import java.util.*;
import java.lang.*;
public class Main {
public static void main(String[] args) {
Random dice = new Random();
int a[]=new int [7];
for(int i = 1 ; i <=100;i++){
++a[1+dice.nextInt(6)];
}
System.out.println("Sno\t Values");
int no;
for(int i=1;i<a.length;i++){
System.out.println(i+"\t"+a[i]);
}
}
}
Sno Values
1 19
2 13
3 16
4 16
5 19
6 18
谁能解释一下这行“ ++ a [1 + dice.nextInt(6)]”
我知道这个程序提供从1-6产生的随机数,在给定值内有多少次
最佳答案
通常,这很难阅读代码。将(IMO)读为至少会稍微简单一点
a[dice.nextInt(6) + 1]++;
...但是如果将它们拆分,仍然更容易理解:
int roll = dice.nextInt(6) + 1;
a[roll]++;
请注意,
++foo
和foo++
之间只有一条语句,两者之间没有区别-使用后递增格式(foo++
)通常更容易阅读,IMO:确定要增加的内容,然后增加它。Random.nextInt(6)
将返回介于0和5之间的一个值-因此,将该结果加1将获得介于1和6之间的一个值。关于java - 骰子的随机数(帮助),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44386807/