2

当我运行这个程序时,我在线程“main”java.lang.NumberFormatException 中得到错误异常:空字符串。是否可以通过以某种方式或必须使用 try catch 语句抛出异常来完成这项工作?

private double[] scores3 = new double[5]; 
Scanner keyboard = new Scanner(System.in);

public void enterData() 
{
   double score;
   double numberMin = 0;
   double numberMax = 100;



do{
    System.out.println("Enter the student's third test score");

      while (!keyboard.hasNextDouble()) {

      keyboard.next();
      }
       score3 = keyboard.nextDouble();


        }
         while  (score3 <= numberMin || score3 >= numberMax);
         double score3 = Double.parseDouble(keyboard.nextLine());
4

2 回答 2

1

在将字符串解析为数字之前.. 将字符串与“”进行比较或使用isEmpty()函数检查其是否为空字符串!

例子:

if (myString.isEmpty()) {
    //Do Nothing
} else {
    //Code to perform calculations
}

或者

if (!myString.isEmpty()) {
    //Code to perform calculations
}
于 2013-01-29T19:15:42.097 回答
0

对于您是否可以在其他地方抛出错误的问题,您可以通过声明

public void enterData() throws NumberFormatException

但是,如果您想继续迭代您的 while 语句,我建议您使用 try catch 块。

于 2013-01-29T19:14:38.187 回答