首页 > 解决方案 > 在数组中存储随机数

问题描述

我有点困惑如何从程序中获取随机生成的数字,将其存储到数组中,然后从数组中读取并打印出该数字生成的次数。

对于我正在使用的随机导入java.util.concurrent.ThreadLocalRandom

public static void main(String[] args) { 
    char quitOption = 'q'; 
    char continueOption = 'c';
    char input;
    int[] myArray;
    Scanner console = new Scanner(System.in);

    do {
        int roll = ThreadLocalRandom.current().nextInt(1, 6);
        System.out.println("Roll is " + roll);
        System.out.println("Enter c to continue or enter q to quit ");
        input = console.nextLine().charAt(0);

        if (input == continueOption || input == 'C') {
            roll = ThreadLocalRandom.current().nextInt(1, 6);
            System.out.println("Roll is " + roll);
            System.out.println("Enter c to continue or enter q to quit ");
            input = console.nextLine().charAt(0);
        } else if (input == quitOption || input == 'Q') {
            System.exit(0);
        }
    } while (continueOption == 'c' || continueOption == 'C');
}

标签: javaarrays

解决方案


我会使用HashMap<Integer, Integer>让我们称之为rollMap

每次你滚动你得到int currentRoll = randomRoll()

如果我是你,我会说:

if(rollMap.containsKey(currentRoll)){
    rollMap.put(currentRoll, rollMap.get(currentRoll) + 1);
}else{
    rollMap.put(currentRoll, 1);
}

然后,您可以通过说:

System.out.println(rollMap.get(<rollid>));

推荐阅读