Синтаксическая ошибка в операторе if else - PullRequest
0 голосов
/ 17 февраля 2012

Я просто пишу основной код, который принимает 2 ввода и оператор и решает.Я должен написать программу, чтобы она не позволяла делить 0, но у меня все еще есть сообщение об ошибке, говорящее о том, что есть синтаксическая ошибка.Я не уверен, почему, потому что я сделал, если еще заявления в прошлом, и это не выглядит по-другому.Я новичок в программировании.Помощь будет оценена

 if((operator == '/') && (operand2 == 0))
   JOptionPane.showMessageDialog(null,"Division by 0 not allowed"); 
   System.exit(0);
 else 
  add = operand1 + operand2;
  mult = operand1 * operand2; 
  sub = operand1 - operand2;
  div = operand1 / operand2;
  remainder = operand1 % operand2;

Ответы [ 3 ]

5 голосов
/ 17 февраля 2012

Если у вас более одного оператора в блоке, вам нужно заключить его в фигурные скобки:

if (...) {
  ...
} else {
  ...
}
1 голос
/ 17 февраля 2012

Вы должны иметь фигурные скобки {} вокруг if и else, если под ними более одной строки кода.Это причина, по которой у вас возникла проблема

0 голосов
/ 17 февраля 2012

Как говорили другие до меня, да, вам нужно иметь фигурные скобки, окружающие ваши тела операторов if, если они более чем на одну строку. Java в значительной степени видит только эту часть вашего кода.

if((operator == '/') && (operand2 == 0))
  JOptionPane.showMessageDialog(null,"Division by 0 not allowed"); 
else 
  add = operand1 + operand2;

Однако теперь, если вы добавите фигурные скобки {} в ваши блоки if и else, Java сможет прочитать весь код. Это выглядит примерно так

if((operator == '/') && (operand2 == 0))
{
 JOptionPane.showMessageDialog(null,"Division by 0 not allowed"); 
 System.exit(0);
}
else
{ 
 add = operand1 + operand2;
 mult = operand1 * operand2; 
 sub = operand1 - operand2;
 div = operand1 / operand2;
 remainder = operand1 % operand2;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...