我有一个基本的二次公式程序,但是如果输入了除双精度以外的任何值,我已经修改了程序的开始到结束。但是,因为我已经这样做了,所以我似乎无法使用程序中其他任何地方输入的值。这是前几行:
import java.util.Scanner;
public class QuadraticFormula
{
public static void main(String[] args)
{
double a, b, c;
Scanner reads = new Scanner(System.in);
System.out.println("General equation: \"ax^2 + bx + c\"");
System.out.print("Enter value of \"a\": ");
try {
String doubleString = reads.nextLine();
a = Double.parseDouble(doubleString);
}
catch (Exception e) {
System.out.println("Invalid Data Type. Please enter a number");
}
程序的其余部分要求 b 和 c 的值,然后执行二次方程,重新调整输入的任何方程的根。但是,因为 a 的值是在 try 部分中定义的,所以编译器会告诉我 a 尚未初始化。我该如何解决?
编辑:我确实想使用用户在程序中输入的数据(存储为双字符串)——但是一个数字。我的直接问题是编译器错误,但有没有办法使用输入的信息,即使它在 try 块内?因为当我试图将 double a 等同于块外的 double doubleString 时,它说 doubleString 不存在。