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]++;


请注意,++foofoo++之间只有一条语句,两者之间没有区别-使用后递增格式(foo++)通常更容易阅读,IMO:确定要增加的内容,然后增加它。

Random.nextInt(6)将返回介于0和5之间的一个值-因此,将该结果加1将获得介于1和6之间的一个值。

关于java - 骰子的随机数(帮助),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44386807/

10-11 00:09