我正在制作一个彩票游戏,我试图让控制台允许用户输入6个数字,但它只允许用户在将它们与随机数进行比较之前输入1。
有没有办法允许用户输入6个数字而不创建新的int变量,而不是将它们与生成的随机数进行比较?
我通过带有*图标的评论突出显示了特定问题。
这是我的代码。
for (int i = 1; i <=6; i++) {
Random run = new Random();
LottoNumbers.add(i);
run.nextInt(49);
//Get Users Lotto Picks
//*Console will not ask for 6 numbers
Scanner scan = new Scanner(System.in);
int lottopick = scan.nextInt();
//prevent user from picking number higher than 49
if (lottopick > 49) {
System.out.println("You canonl pick numbers between 1 and 49");
}
//Compare User selection to random numbers generated
System.out.println("Enter Your Six Numbers between 1 and 49");
if (lottopick == run.nextInt(49)) {
System.out.println("Millionaire");
System.out.println(run.nextInt(49));
System.out.println(run.nextInt(49));
System.out.println(run.nextInt(49));
System.out.println(run.nextInt(49));
System.out.println(run.nextInt(49));
System.out.println(run.nextInt(49));
}
else {
System.out.println("You lose");
System.out.println(run.nextInt(49));
System.out.println(run.nextInt(49));
System.out.println(run.nextInt(49));
System.out.println(run.nextInt(49));
System.out.println(run.nextInt(49));
System.out.println(run.nextInt(49));
System.out.println(run.nextInt(49));
}
}
请不要继续制作完整的应用程序,因为我永远不会学习。感谢
答案 0 :(得分:1)
因为,每个输入都会询问相同的问题,所以你应该使用for循环和一组输入:
Scanner scan = new Scanner(System.in);
int[] lottopick = new int[6];
for(int i = 0; i < lottopick.length; i++) {
System.out.println("Enter next lottery number: ");
lottopick[i] = scan.nextInt();
}
答案 1 :(得分:1)
有几种方法可以做到,首先你需要决定如何从用户那里获取输入,这里有一些方法:
干杯!!
答案 2 :(得分:1)
使用scanner.nextInt(),您每次只能获得一个号码。
喜欢
first = scanner.nextInt(); second = scanner.nextInt();
你可以在For循环中给它
for(int i = 0; i&lt; 6; i ++)
{ array [i] = scanner.nextInt(); }
您使用扫描仪
读取字符串String s = scanner.next()
//您可以输入的字符串,如20,34,334,:之后您可以使用','
进行拆分答案 3 :(得分:0)
如果你真的希望输入全部在一行上,你可以得到一个字符串,按空格分割,然后解析整数。
伪代码中的:
Scanner scan = new Scanner(System.in);
string lottoNumbers;
lottoNumbers = scan.next();
stringChunks[] = lottoNumbers.Split(" ");
for(int x = 0; int < stringChunks.Size; x++){
Integer.GetInt(stringChunks[x]);
}
强调伪代码。