我正在为我的一些家庭作业寻求一些帮助。我希望用户输入一个数字字符串,然后将其转换为整数。但我想创建一个循环来检测用户是否输入了错误的值,例如“一百”而不是“100”。
我的想法是做这样的事情:
do{
numStr = JOptionPane.showInputDialog("Please enter a year in numarical form:"
+ "\n(Ex. 1995):");
num = Integer.parseInt(numStr);
if(num!=Integer){
tryagainstr=JOptionPane.showInputDialog("Entered value is not acceptable."
+ "\nPress 1 to try again or Press 2 to exit.");
tryagain=Integer.parseInt(tryagainstr);
}
else{
*Rest of the code...*
}
}while (tryagain==1);
但我不知道如何定义该“整数”值。我本质上希望它看看它是否是一个数字,以防止它在用户输入错误时崩溃。
Try use instanceof
,此方法将帮助您在多种类型之间进行检查
Example
if (s instanceof String ){
// s is String
}else if(s instanceof Integer){
// s is Integer value
}
如果您只想检查整数和字符串,可以使用 @NKukhar 代码
try{
Integer.valueOf(str);
} catch (NumberFormatException e) {
//not an integer
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)