gpt4 book ai didi

java - 当用户按没有值的回车键时,如何在java中显示int的空消息

转载 作者:行者123 更新时间:2023-12-01 10:47:47 24 4
gpt4 key购买 nike

我试图在为 java 中的 switch 语句输入整数数据时为用户创建验证。我的代码是:

//Checks if inputed value is number or String
public void valsInt(String entry){
if(in.hasNextInt()){
setUserInputInteger(in.nextInt());
//System.out.println("valInt = Correct");
setIsTrue(true);
}else{
if(in.hasNextLine()){
setUserInputString(in.nextLine());
System.out.println("`"+getUserInputString()+"` IS AN INVALID ENTRY. YOU CAN ONLY ENTER DIGITS FOR THE " + entry);
setIsTrue(false);

}
}

}

此代码的作用是提示用户输入一个整数,如果是整数,则将变量“userInputInteger”设置为输入数据,循环将停止,但如果用户输入字符串,则用户将收到一条消息表明这不是有效的输入,因为它是一个字符串。我试图在单击 Enter 按钮时创建一条错误消息,但内部没有值,但“in.hasNextInteger”无法将其拾取,因为它不是整数,因此不会移至 if 语句的其他部分。。有没有人对此有任何想法

提前致谢

最佳答案

实现这一目标的一种方法是:

  1. 用 try-catch 语句包围您的方法,以避免使用 hasNextInt()
  2. 用 if 语句包围您的方法,以验证条目是否为空

像这样:

public void valsInt(String entry){
if(!entry.trim().isEmpty()){
try{
int number = Integer.parseInt(entry);
setIsTrue(true);
}catch(NumberFormatException e){
System.out.println("`"+getUserInputString()+"` IS AN INVALID ENTRY. YOU CAN ONLY ENTER DIGITS FOR THE " + entry);
setIsTrue(false);
}
}else{
System.out.println("THE ENTRY IS EMPTY");
}
}

关于java - 当用户按没有值的回车键时,如何在java中显示int的空消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34077705/

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