【发布时间】:2015-06-23 17:15:32
【问题描述】:
我添加了一个 while 循环,以便如果用户输入无效值,代码将重新提示用户输入有效值。但是当用户输入无效值时,代码会进入无限循环。任何帮助将不胜感激!
public static void main(String[] args) {
System.out.println("Usage : enter a, b, & c from a quadratic equation");
System.out.println(" aX^2 +bX + c = 0");
System.out.println(" Result will be 2 values for X");
Scanner in = new Scanner(System.in);
double a = 0;
double b = 0;
double c = 0;
double x1 = 0 ;
double x2 = 0;
double discriminant = 0;
System.out.println("Please enter values for a , b, and c ");
while(true){
try
{
a = in.nextDouble();
break;
}
catch(java.util.InputMismatchException E)
{
System.out.println("wrong input, try again");
}
}
while(true){
try
{
b = in.nextDouble();
break;
}
catch(java.util.InputMismatchException E)
{
System.out.println("wrong input, try again");
}
}
while(true){
try
{
c = in.nextDouble();
break;
}
catch(java.util.InputMismatchException E)
{
System.out.println("wrong input, try again");
}
}
//x1 = (-b+sqrt(b*b - 4ac))/2a
//x2 = (-b+sqrt(b*b - 4ac))/2a
discriminant = b*b -4.0 * a * c;
x1 = (-b + Math.sqrt(discriminant))/2.0*a;
x2 = (-b - Math.sqrt(discriminant))/2.0*a;
System.out.println("The two values for X are " + x1 + " and " + x2);
}
【问题讨论】:
标签: java loops while-loop