gpt4 book ai didi

java - 使用 hasNext() Scanner 方法仅允许一组 X 输入

转载 作者:行者123 更新时间:2023-12-02 01:04:08 25 4
gpt4 key购买 nike

如何使用扫描器 hasNext() 方法来确保用户仅选择 1 到 20 之间的值,然后将该值用作字符串以在 fillSpot 变量中返回?下面的代码缺少一种方法来检查输入是否在 1 到 20 之间。我还在最终返回行上收到错误代码 fillSpot 无法解析为变量。任何帮助将非常感激!

public String giveInput() {

Scanner in = new Scanner(System.in);
int space;


do {
System.out.println("Enter numerical value between 1 and 20");
while (in.hasNext()) {
String fillSpot = in.nextLine();
System.out.printf("\"%s\" is not a valid input.\n", fillSpot);
}
space = in.nextInt();
} while (space < 1 || space < 20);

return fillSpot;
}

最佳答案

您也可以尝试此操作,根据您的要求,您可以返回字符串或整数。

public static String giveInput() {

Scanner in = new Scanner(System.in);
String inputString;
int inputNumber = 0;

do {
System.out.println("Enter numerical value between 1 and 20");
inputString = in.nextLine();
try {
inputNumber = Integer.parseInt(inputString);
} catch (NumberFormatException e) {
System.err.println("Please enter a number");
}

} while (inputNumber < 1 || inputNumber > 20);

return inputString;
}

关于java - 使用 hasNext() Scanner 方法仅允许一组 X 输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60266657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com