作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.println(" Enter the Amount of articles to be ordered.");
amount = reader.readLine();
if(amount.trim().isEmpty()){
System.out.println("Amount Entered is Empty");
}
for(int count=0;count<amount.length();count++){
if(!Character.isDigit(amount.charAt(count))){
throw new NumberFormatException();
}
}
order.validateAmount(amount);
}catch(NumberFormatException numbere){
System.out.println("Either Number format is uncorrect or String is Empty, Try Again.");
}
上面的代码为我提供了针对空字符串异常和无效数字数据异常的单个 println() 语句,这是我不想要的。我想要两个异常的单独 println() 语句。如何获得?
最佳答案
您可以使用两个不同的异常,例如 NumberFormatException
和 IllegalArgumentException
并执行两个不同的 catch
-子句。
...
if (amount.isEmpty())
throw new IllegalArgumentException();
...
} catch (NumberFormatException numbere) {
System.out.println("Either Number format is uncorrect, Try Again.");
} catch (IllegalArgumentException empty) {
System.out.println("String is empty, Try Again.");
}
使用相同的异常,但使用不同的消息:
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
System.in));
System.out.println(" Enter the Amount of articles to be ordered.");
String amount = reader.readLine();
if (amount.trim().isEmpty()) {
System.out.println("Amount Entered is Empty");
}
if (amount.isEmpty())
throw new IllegalArgumentException("String is empty.");
for (int count = 0; count < amount.length(); count++)
if (!Character.isDigit(amount.charAt(count)))
throw new IllegalArgumentException("Number format incorrect.");
order.validateAmount(amount);
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage() + " Try again.");
}
或者,您可以使用两个不同的构造函数推出自己的异常
,并使用一个标志来说明异常是由于错误数字还是空字符串造成的.
关于java - 我需要提供单独的异常语句。 1. 空字符串和 2. 有效数字数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5740212/
如何在 C++ 中进行涉及有效数字的数学运算?我希望它能正确处理化学和物理实验的测量数据。一个例子:65/5 = 10。我需要去掉不需要的小数位并将一些数字替换为 0。 谢谢! 最佳答案 这应该可以满
这个任务看起来很简单 - 在输入时我得到测试数量 (numOfTests),然后是两个数字 (downBorder, upBorder) 和我必须找出这些数字(downBorder、upBorder)
如果我有 double (234.004223) 等,我想在 C# 中将其四舍五入为 x 位有效数字。 到目前为止,我只能找到舍入到 x 位小数的方法,但是如果数字中有任何 0,这只会删除精度。 例如
我是一名优秀的程序员,十分优秀!