gpt4 book ai didi

java - 异常处理在运行程序中只起作用一次

转载 作者:行者123 更新时间:2023-12-02 07:14:26 25 4
gpt4 key购买 nike

最初,我尝试将 try 语句放入 while 循环中,但是遇到了几个错误。该程序运行完美,除了当我输入不规则字符时,一旦它给出了我输入的我创建的打印行,但是,当我再次输入另一个字符时,该行不会弹出,而是给我一个格式异常错误。

AddNumbersrealone2.java

import java.io.*;

// create the class
public class AddNumbersrealone2
{
// allows i/o
public static void main (String [] args) throws IOException
{ // initalize variables and strings
BufferedReader myInput = new BufferedReader (new InputStreamReader (System.in));
String sumNumbers;
//String go;
double num ;
double total = 0.0;

// asks user questions and instructions
System.out.println("Hello, the following program will ask for your input of a number ");
System.out.println("Each time you input a number a running total will be added to each previous number") ;
System.out.println("Once ready input a number to start!");
// try and catch block
try {

num = 0;

// while statement if this occurs stop the program, in this case if a negative integer is inputted

while (num >= 0) {

// Contious question asked
System.out.println("Input another number...");
sumNumbers = myInput.readLine();
num = Double.parseDouble (sumNumbers);

// calculates number (Running total)
total = total + num;
System.out.println(total);

// end error trap
}
}
catch (Exception e){
System.out.println("Please refrain from entering regular characters!");
num = 0;

// re- while statement if this occurs stop the program, in this case if a negative integer is inputted

while ( num >= 0) {

// input question after a character is inputted
System.out.println("Please input a number: ");
sumNumbers = myInput.readLine();
num = Double.parseDouble (sumNumbers);

total = total + num;
System.out.println(total);

// ending statement
}
}
System.out.println("You entered a negative number, the program will exit now");
System.out.println("Good-bye!");

// Complete class body
}
}

最佳答案

你想要一些东西来捕获 Double.parseDouble 周围的异常

例如。

 while(num >= 0)
{
// input question after a character is inputted
System.out.println("Please input a number: ");
sumNumbers = myInput.readLine();
try{
num = Double.parseDouble (sumNumbers);
total = total + num;
System.out.println(total);
} catch(Exception e)
{
System.out.println("Please enter a proper number");
}


// ending statement
}

关于java - 异常处理在运行程序中只起作用一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15099583/

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