У меня есть базовая программа квадратичной формулы, но я изменил начало, чтобы закончить программу, если введено другое значение, отличное от двойного. Однако, поскольку я сделал это, я, похоже, не могу использовать значение, введенное где-либо еще в программе. Вот первые несколько строк:В Java, как я могу использовать переменную, инициализированную внутри блока try/catch в другом месте программы?
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");
}
Остальная часть программы запрашивает значения Ь и с, а затем выполняет квадратное уравнение, перенастройка корни уравнения независимо было введено. Однако, поскольку значение a определено внутри раздела try, компилятор сообщает мне, что a не был инициализирован. Как это исправить?
EDIT: Я хочу использовать данные, введенные пользователем в программе (хранимые как doubleString), - но число. Моя непосредственная проблема - ошибка компилятора, но есть ли способ использовать введенную информацию, даже если она находится внутри блока try? Потому что, когда я пытался сопоставить double a double doubleString за пределами блока, он сказал, что doubleString не существует.
Дайте 'a' начальное значение по умолчанию; подумайте, есть ли исключение. Без значения по умолчанию 'a' вообще не имеет значения. –
@ ElliottFrisch Я не думаю, что это то, о чем спрашивает OP.Это вход сканера, который нельзя использовать нигде. @Caroline 'String doubleString = reads.nextLine();' не будет генерировать исключение и, следовательно, не обязательно находиться внутри блока try. Это синтаксический анализ, который может вызвать исключение. –
@RahulSharma * Однако, поскольку значение a определено внутри раздела try, компилятор сообщает мне, что a не был инициализирован. Как это исправить? * –