我正在尝试找出如何创建输入验证的方法,在该方法中,您不能两次输入相同的数字,而且不能在数字范围内输入,除非它是整数,否则无法输入任何内容。我目前正在创建彩票程序,不确定如何执行此操作。任何帮助将非常感激。我的数字范围验证有效,而其他两个验证无效。我尝试了非重复号码验证,但我不确定如何执行仅数字验证。有人可以告诉我如何构建此结构。
此方法在我的Player类中
public void choose() {
int temp = 0;
for (int i = 0; i<6; i++) {
System.out.println("Enter enter a number between 1 & 59");
temp = keyboard.nextInt();
keyboard.nextLine();
while ((temp<1) || (temp>59)) {
System.out.println("You entered an invalid number, please enter a number between 1 and 59");
temp = keyboard.nextInt();
keyboard.nextLine();
}
if (i > 0) {
while(temp == numbers[i-1]) {
System.out.println("Please enter a different number as you have already entered this");
temp = keyboard.nextInt();
keyboard.nextLine();
}
}
numbers[i] = temp;
}
}
如下进行:
import java.util.Arrays;
import java.util.Scanner;
public class Main {
static int[] numbers = new int[6];
static Scanner keyboard = new Scanner(System.in);
public static void main(String args[]) {
// Test
choose();
System.out.println(Arrays.toString(numbers));
}
static void choose() {
int temp;
boolean valid;
for (int i = 0; i < 6; i++) {
// Check if the integer is in the range of 1 to 59
do {
valid = true;
System.out.print("Enter in an integer (from 1 to 59): ");
temp = keyboard.nextInt();
if (temp < 1 || temp > 59) {
System.out.println("Error: Invalid integer.");
valid = false;
}
for (int j = 0; j < i; j++) {
if (numbers[j] == temp) {
System.out.println("Please enter a different number as you have already entered this");
valid = false;
break;
}
}
numbers[i] = temp;
} while (!valid); // Loop back if the integer is not in the range of 1 to 100
}
}
}
运行示例:
Enter in an integer (from 1 to 59): 100
Error: Invalid integer.
Enter in an integer (from 1 to 59): -1
Error: Invalid integer.
Enter in an integer (from 1 to 59): 20
Enter in an integer (from 1 to 59): 0
Error: Invalid integer.
Enter in an integer (from 1 to 59): 4
Enter in an integer (from 1 to 59): 5
Enter in an integer (from 1 to 59): 20
Please enter a different number as you have already entered this
Enter in an integer (from 1 to 59): 25
Enter in an integer (from 1 to 59): 6
Enter in an integer (from 1 to 59): 23
[20, 4, 5, 25, 6, 23]
我正在使用useState处理一个待办事项,我试图保存用户输入,然后在他们点击提交后将其推送到listArray,稍后显示它...我认为我在updateArray函数中做错了什么,但我似乎可以理解什么。
我正在使用Java的扫描仪读取用户输入。如果我只使用nextLine一次,它可以正常工作。对于两个nextLine,第一个不等待用户输入字符串(第二个)。 输出: X:Y:(等待输入) 我的代码 你知道为什么会发生这种事吗?谢谢
首先要说的是,我对stackoverflow中的“提问”还不熟悉,所以如果我的问题不属于正确的类别,或者已经有人问过类似的问题,我表示歉意。我试图找到一个相关的问题,但我找不到。我的有点特别,这将作为我将来编程的一个例子。 我尝试创建的简单程序的流程是: > 起始编号为的,例如0 该数字递增1,直到该数字增加到100个数字,此时... 程序询问"Y/N"是否是,然后重复步骤1和2(每次重复这个过程
问题内容: 我正在编写一个简单的猜谜游戏程序,用户将输入一个数字来尝试猜测一个随机生成的数字。 如果他们的号码正确,我想给他们选择再次玩的机会。 这是我的代码: 游戏进行完毕,但是提示用户再次玩游戏时,什么都没有发生? 有什么建议? 问题答案: 这是完整的代码,完全可以使用并经过测试。
该代码基于用户输入的列表。然后显示列表并要求输入y/n。如果是,它会显示回车,并允许您输入用逗号分隔的数字。这很好。 然而,在当循环之后,它会启动我还不明白的collections.frequency。只有当数字像12一样一个接一个地输入时,它才起作用,然后点击输入更多的数字,直到按下n。这打破了循环。并显示重复的列表。 然而,如果一次将所有数字输入到一行中,如12、23、55等,则不起作用。它不
当用户输入字符串(例如“”)时,程序应该给出输出“”,然后提示用户键入有效输入。当我键入字符串时,我会在线程“main”java.util.InputMismatchException中得到错误消息