Я пытаюсь сделать базовый калькулятор для изучения Java, и он продолжает говорить: «Эта локальная переменная, возможно, не была инициализирована» в моей инструкции switch. Вот сегмент кодаchar - Эта локальная переменная, возможно, не была инициализирована
char operator;
System.out.println("Enter First number");
firstNumber = scan.nextDouble();
System.out.println("Enter Second Number");
secondNumber = scan.nextDouble();
switch(operator) {
case '+':
answer = firstNumber + secondNumber;
System.out.println("Result = "+ answer);
break;
(после этого он продолжает с утверждением переключателя)
Когда я пытаюсь скомпилировать свою программу, он говорит мне, что переключатель (оператор) оператор не имеет был инициализирован и говорит: «Эта локальная переменная, возможно, не была инициализирована» с красной линией под «оператором».
Он сказал мне, что я должен написать:
char operator = 0;
Это не сработало, поэтому я попытался
char operator = null;
И это тоже не сработало Он автоматически запускается в
default:
System.out.println("Syntax Error");
который является моим дефолтом, если корпус не выполнен должным образом. Это работает, потому что я уже определил, что должен быть Оператор.
Что делать, чтобы решить эту проблему?
PS извините, если это грязный пост (это мой первый на StackOverflow), если вам нужно больше информации просто спросите
Что такое ввод и вывод образца? Как вы даете ценность оператору? – zerocool
Вы никогда ничего не присваиваете 'operator', но вы ожидаете, что программа сделает что-то полезное с ним? – ajb
'0' не является символом, это целое число, поэтому да' char operator = 0' потерпит неудачу. Вы можете инициализировать его на 'char operator = '0';' но на самом деле, почему бы вам, если вы по какой-то причине ожидаете, что он будет соответствовать '+' в инструкции switch? Откуда вы ожидаете значения для операторской переменной? – scrappedcola