【发布时间】:2013-01-25 00:30:34
【问题描述】:
我已经完成了一个将十进制数转换为二进制(32bit) 的简单程序。如果用户输入溢出数字(任何超过2147483647),我想实现某种类型的错误消息。我尝试了if_else , loop,但很快发现我什至做不到。所以我把输入作为一个字符串搞砸了,然后使用.valueOF()等一些东西,但似乎仍然无法解决这个问题。
如果我一开始就无法存储值,我不知道如何将任何值与a >2147483648 进行比较。
这是我为 getDecimal() 方法提供的裸代码:
numberIn = scan.nextInt();
Edit:: 尝试try/catch方法后,遇到编译错误
"non-static method nextInt() cannot be referenced from a static context"。
我的代码如下。
public void getDec()
{
System.out.println("\nPlease enter the number to wish to convert: ");
try{
numberIn = Scanner.nextInt();
}
catch (InputMismatchException e){
System.out.println("Invalid Input for a Decimal Value");
}
}
【问题讨论】:
标签: java int range java.util.scanner out