java - 在数组中存储随机数
问题描述
我有点困惑如何从程序中获取随机生成的数字,将其存储到数组中,然后从数组中读取并打印出该数字生成的次数。
对于我正在使用的随机导入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');
}
解决方案
我会使用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>));
推荐阅读
- excel - 输入特定数据时如何退出Do While循环?
- ubuntu - ^[[2~ 个字符 r 在启动期间和启动后连续打印
- powershell - 不在列表中的 Powershell Move-Item
- excel - 合并同名列
- javascript - 对不可变的 JS Map 对象执行删除操作
- javascript - 如何获取打开我网站的设备的蓝牙 ID
- sql - Oracle SQL - 从用户 ID 字符串中选择最大整数值
- latex - 如何在不使用 bookdown 的情况下在 Rmarkdown 块标题中引用?
- wordpress - 为什么某些 Wordpress 主题没有标题图像部分
- java - 用户如何将数字序列输入数组// Java