基本随机进入for循环的基本实现

时间:2016-09-13 20:46:42

标签: java

我需要从main分配一个掷骰子的价值,将它发送到我的班级 - >方法并循环遍历此值。每次掷骰子时,需要在某处保存1-6的随机值,我就这样做了:

public class Generator {
    public static int DiceGame(int amountToss) 
    {
        //Declare local variables
        int numberShowing = 0; 
        int toss = 0;
        int result = 0;
        int one = 1;
        int two = 2;
        int three = 3;
        int four = 4;
        int five = 5;
        int six = 6;

        Random dice = new Random();  //Create constructor
        numberShowing = dice.nextInt(6) +1;
        for (int i = 0; i < toss; i++) {
            numberShowing = i;
            resultat=i;
        }
        return result;
    }
}

我也应该存储并显示已经显示了1s,2s等多少次但我会在以后找到它。 我只想要一些工作......

3 个答案:

答案 0 :(得分:1)

如果我理解正确,你会想要这样做

public static int[] DiceGame(int amountToss) 
{
    //Declare local variables
    int[] nums = new int[6];

    Random dice = new Random();  //Create constructor
    for (int i = 0; i < amountToss; i++) {
        nums[dice.nextInt(6)]++;
    }
    return nums;
}

返回的数组将按索引计算每个骰子的数量。

答案 1 :(得分:0)

我认为您无法看到结果,因为您的折腾值已初始化为0.您需要从更高的值开始,例如10,每次运行减1。要显示生成的数字,需要在关闭for循环之前打印结果。或者,您可以将生成的结果存储在列表中并打印列表。希望这可以帮助。

${!define_var}

答案 2 :(得分:0)

以下是保存和显示随机值的结果以及每个数字的计数的代码。

public static void DiceGame(int amountToss) {
    //Declare local variables 

    Random dice = new Random();
    int outputNumbers[] = new int[amountToss];
    int numbersCount[] = new int[6];
    int current = 0;

    for (int i = 0; i < amountToss; i++) {

        current = dice.nextInt(6) + 1;
        outputNumbers[i] = current;
        numbersCount[current-1]++;
        System.out.println("number: " + outputNumbers[i]);

    }

    System.out.println("\nNumbers count:\n");
    for (int i = 0; i < amountToss; i++) System.out.println((i+1) + ": " + numbersCount[i]);

}

希望这可以帮到你。