gpt4 book ai didi

java Scanner强制用户输入int值

转载 作者:行者123 更新时间:2023-11-30 03:22:18 27 4
gpt4 key购买 nike

public class Main{
public static void main(String args[]){
int i = nextInt();
}
public int nextInt(){
int i=0;
boolean done=false;
Scanner scanner = new Scanner(System.in);
while (!scanner.hasNextInt()){
scanner.nextLine();
Printer.println(Printer.PLEASE_NUMBER);
}
i=scanner.nextInt();
scanner.close();
return i;
}
}

上面的代码是我试图强制用户输入 int 值的方式,但我得到了 nosuchelement 异常,因为 Scanner.nextLine() 读取了 NULL。在 C++ 中,软件等待用户输入内容。我可以做些什么来强制程序停止,等待用户输入一些内容然后进行检查?

编辑:所以无论如何我都会遇到问题,如果我在主类之外使用扫描仪,它会给出该错误......

最佳答案

如果你希望用户输入而扫描器只拾取一个整数值,扫描器提供了方法:

int i = scanner.nextInt();

其中i将存储输入控制台的下一个值。如果i不是整数,它将抛出异常。

这是一个示例:假设我希望用户输入一个数字,然后我想将其返回给用户。这是我的主要方法:

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Please print your number: ");
int i = sc.nextInt();
System.out.println("Your Number is: " + i);
}

现在要检查 i 是否是整数,您可以使用 if 语句。但是,如果您希望程序重复直到用户输入整数,您可以使用 while 循环或 do while 循环,其中循环的参数将检查 i 是否是整数。

希望这就是您正在寻找的!顺便说一句,请避免将方法命名为 nextInt(),因为 import java.util.Scanner; 已经具有该方法名称。不要忘记导入!

关于java Scanner强制用户输入int值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31056522/

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