我正在学习java,并且正在尝试制作一个非常简单的应用程序来进行货币转换。您输入一个汇率、一个方向(例如:从欧元到美元或反向)和一个金额。数字有效的非负数。
到目前为止,我设法使数字不能为负;现在我需要抛出一个错误,如果它不是一个数字。我有以下代码:
public void setKoers(double koers)
throws NegativeValueException, NumberFormatException{
if (koers > 0 ) {
this.koers=koers;
} else {
throw new NegativeValueException("negative number");
}
}
我的主要看起来像
try {
cal.setKoers( Double.parseDouble(args[0]));
} catch(NegativeValueException e) {
System.out.println(e.getMessage());
} catch (NumberFormatException e) {
System.out.println( e.getMessage());
}
那么如何检查是否koers
是数字。我知道我可以尝试在我的代码中捕获错误,但我认为这会违背处理错误的位置和方式的逻辑:在我的主函数中,我应该捕获任何NumberFormatException