gpt4 book ai didi

java - 来自扫描仪的空白输入 - java

转载 作者:行者123 更新时间:2023-12-02 09:43:58 24 4
gpt4 key购买 nike

我想做的是,如果用户单击回车键,程序应该抛出 BadUserInputException。我的问题是,每当我按下回车键时,它只会将我置于控制台的另一行中,基本上什么也不做。

Scanner input = new Scanner(System.in);
System.out.println("Enter Student ID:");

String sID = null;
if (input.hasNextInt()==false){
System.out.println("Please re-check the student number inputted. Student number can only be digits.");
throw new BadUserInputException("Student number can not contain non-digits.");
}else if (input.next()==""){
throw new BadUserInputException("Student number can not be empty");
}

最佳答案

我遇到了这个确切的问题,并且我相信我找到了解决方案。

关键是接受 String 类型的输入,并使用 .isEmpty() 方法检查用户是否输入了任何内容。

如果您的字符串被命名为“cheese”并且您的扫描仪被命名为“in”,则如下所示:

cheese = ""; // empty 'cheese' of prior input
cheese = in.nextLine(); //read in a line of input

//if user didn't enter anything (or just spacebar and return)
if(cheese.isEmpty()) {
System.out.println("Nothing was entered. Please try again");
}
//user entered something
else {
[enter code here checking validity of input]
}

我尝试对整数输入实现此检查,发现最好接受 String 类型输入并使用包装类将其转换为 int 类型。如果你有

int eger = 0; //initialize to zero

然后您可以将此代码放入上面的 else 语句中:

else{
eger = Integer.valueOf(cheese);
}

我知道这个问题是在两年前提出的,但我发布此问题是为了帮助像我这样正在寻找答案的其他人。 :)

关于java - 来自扫描仪的空白输入 - java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5689325/

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