【发布时间】:2017-09-03 08:40:56
【问题描述】:
尝试检查来自键盘的输入是否不是 int,然后继续询问直到插入 int。有什么建议么?
这是我的一段代码(如果用户将在输入流中插入除 int 以外的任何内容,则为 catch 部分):
这是我的 try/catch 块....任何其他使它工作和简短的方法! 提前谢谢你
//thinking about using : while(!myscanner.hasNextInt())
try
{
myinput = myscanner.nextInt();
while(myinput > MAXARRAY || myinput < 0 || (myinput != (int)myinput))
{
System.out.print("Size must be from 0 - 15. Please reenter: ");
myinput = myscanner.nextInt();
}
}catch(InputMismatchException e)
{
while(myinput > MAXARRAY || myinput < 0 || (myinput != (int)myinput))
{
System.out.println("Size must be from 0 - 15. Please reenter: ");
myinput = myscanner.nextInt();
}
}
【问题讨论】:
-
如果
myinput的类型为int,myinput != (int)myinput永远不会为真。 -
请提供更多解释或示例....谢谢
-
不如你先说明你的意图。
-
试图强制用户输入一个介于 0 和 15 之间的 int ......如果用户不断插入超出该范围的任何内容或任何其他数据类型......他将被要求在扫描仪中重新输入值,直到满足条件
-
我明白了。但是您的代码与您的要求几乎没有共同之处。
标签: java loops while-loop