Я начинаю java, и я изучаю инструкцию switch. Я понимаю, как работает оператор switch, но когда я пытаюсь преобразовать из switch в if/else, я получил неправильный ответ. И я не мог решить проблему?Если else и switch statment
Это переключатель Постулаты
switch (y)
{
case '+':
case '-':
checkPrecedence(y, 1);
break;
case '*':
case '/':
checkPrecedence(y, 2);
break;
case '(':
opStack.push(y);
break;
case ')':
checkBrackets();
break;
default:
output = output + y;
break;
мой, если/иначе Постулаты
if (y == '+' || y == '_') {
checkPrecedence(y, 1);
}
else if (y == '*' || y == '/') {
checkPrecedence(y, 2);
}
else if (y == '(') {
opStack.push(y);
}
else if (y == ')') {
checkBrackets();
}
output = output + y;
Какой тип y? Строка? Int? – Lexi
у вас есть неправильный ответ? что это значит? он не компилируется, он не запускается, или ваш профессор сказал вам попробовать еще раз ...? для начала ваш оператор 'switch' имеет' default', но ваш 'if', кажется, не имеет своего' else'. вы также сравниваете с '-' в коммутаторе, но это, похоже, опечаталось в' _' в вашем if. – trooper
Почему некоторые из ваших утверждений о случаях не имеют перерывов? каждый случай должен иметь перерыв; Кроме того, ваш оператор else else if должен, вероятно, быть инструкцией else, которая выполняется, если все утверждения перед ним являются ложными. – Radmation