尝试编写一个程序,让用户输入他们一周的开支。问题在于我希望程序重新询问用户是否输入了不可接受的输入。我想出了如何检测负值,但是当试图捕获输入不匹配异常时(如果输入了一个字符或字符串),循环只是无限运行,询问“星期一费用:”我如何做到这一点,以便给用户另一个回答的机会?我试着休息一下;但这也打破了 do while 循环,这是我不想要的。
到目前为止,这是我的代码:
import java.util.Scanner;
public class BarGraph{
public static void main (String[] args){
Scanner myScanner;
myScanner = new Scanner(System.in);
double mon, tues, wed, thurs, fri, sat, sun;
do{
try{
System.out.print("Expenses for Monday: ");
mon = myScanner.nextDouble();
}catch( Exception e){
mon = -1;
}
}while(mon<0);
System.out.println(mon);
}
}
谢谢你的帮助