gpt4 book ai didi

java - 如何处理数字格式异常并将 int/double 变量替换为默认值 0/0.0?

转载 作者:行者123 更新时间:2023-11-30 05:24:10 26 4
gpt4 key购买 nike

              try {

price = Double.parseDouble(tokens[3]);
count = Integer.parseInt(tokens[4]);

}catch (NumberFormatException n){

price = 0.0;
count = 0;
}

在上面的代码中,我得到了 try-catch block 当前的样子,并且我正在尝试弄清楚如果输入是字符串或负值,如何用 0 替换这些值。我不确定我是否可以在一个 try-catch 中完成此操作,或者是否需要两个单独的 try-catch。我对 java 有点陌生,所以任何帮助将不胜感激!!!

最佳答案

在您的代码中,如果价格解析正确而计数解析不正确,则价格和计数都将设置为 0。我认为这不是您需要做的。

如果您需要单独处理每个变量,即如果正确解析了价格但未正确解析计数,那么您将必须为这两个变量中的每一个放置两个不同的 try-catch block 。

此外,此代码不会检查是否为负值。如果 number 为负数,则不会抛出 NumberFormatException。成功解析数字后,您必须检查此项。

  try {

price = Double.parseDouble(tokens[3]);
if (price <0)
throw new NumberFormatException();

}catch (NumberFormatException n){

price = 0.0;
}




try {

count = Integer.parseInt(tokens[4]);
if(count <0)
throw new NumberFormatException();

}catch (NumberFormatException n){

count = 0;
}

关于java - 如何处理数字格式异常并将 int/double 变量替换为默认值 0/0.0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59002406/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com