Итак, мой профессор сказал, что разрыв в выражении if/if-else - это «плохой» код. Что именно она имеет в виду? Также, как я могу исправить свой код, который я написал в настоящее время, потому что он работает так, как я его хочу, сейчас мне нужно получить удовольствие от инструкции break.Если-else не должен иметь перерыв?
int sumOne = 1;
int sumTwo = 1;
int sumOneTotal = 0;
int sumTwoTotal = 0;
while(sumOne > 0 || sumTwo > 0){
System.out.print("Enter a number to add to first sum: ");
//The user enters in a value for the first sum.
sumOne = input.nextInt();
/**
* We use an if-else statment to ensure sumOne is never less than or equal to 0.
* If it does it ends the program immediately and totals the sums.
* This is because we only want the user to enter in positive numbers.
*/
if (sumOne <= 0){
break;
}else{
sumOneTotal = sumOneTotal + sumOne;
}
System.out.print("Enter a number to add to second sum: ");
//The user enters in a value for the second sum.
sumTwo = input.nextInt();
/**
* We use an if-else statment to ensure sumTwo is never less than or equal to 0.
* If it does it ends the program immediately and totals the sums.
* This is because we only want the user to enter in positive numbers.
*/
if (sumTwo <= 0){
break;
}else{
sumTwoTotal = sumTwoTotal + sumTwo;
}
}
//We print out the total of sumOneTotal and sumTwoTotal.
System.out.printf("%1s%1d%12s%1s%1d", "First sum: ", sumOneTotal, " ", "Second sum: ", sumTwoTotal);
По существу я хочу, чтобы пользователь мог ввести любое положительное число, а число добавляется к первой или второй сумме. Как только пользователь вводит любое число < = 0 Я хочу, чтобы программа немедленно остановилась. Проблема, которую я продолжаю иметь, когда я возиться с кодом, заключается в том, что код продолжает работать. Значение, если у меня есть пользователь, введите в 0, чтобы быть добавленным к первой сумме, код по-прежнему просит пользователя ввести число для второй суммы. Мне нужно, чтобы он сразу остановился и не продолжил. Любая помощь будет большой помощью! Я использую Java.
EDIT !!! Итак, предположим, что я хочу сделать программу, которая делает то же самое, что и сейчас, без инструкции break. Как мне это сделать? Несколько правил. Самый внешний оператор должен быть «while». Внутренние работы этого могут быть любыми. Мне также нужна машина для печати «Введите число, которое нужно добавить к первой сумме:» и «Введите число, чтобы добавить ко второй сумме», чередуя. Поэтому, если я вхожу в 1,2,3,4. Первая сумма будет равна 4, а вторая сумма будет равна 6. Последнее правило заключается в том, что она не может содержать никаких операторов break!
Использование разрыва правильное. Ваш учитель ошибается! Я признаю, что он может быть «плохим кодом», но не тогда, когда он сделан правильно, как у вас здесь. – Herter
Возможно, вам придется спросить ее, что она имеет в виду. Для меня это похоже на чрезмерное обобщение. –
Вам следует избегать использования 'break;', если вы можете, но иногда избегая «перерыва», хуже. В этом случае было бы хуже ИМХО. –