Как можно преобразовать многочисленные вложенные операторы if-else в контролируемый дозором цикл while?
У меня проблемы с контролируемой дозорной структурой лаборатории, в которой я нахожусь. Я должен составить программу, которая может определить, является ли год високосным или регулярным. До сих пор мой профессор говорил, что у меня есть логическая логика и входные данные в порядке, но я не знаю, как установить контролируемый цикл while, который будет запрашивать ввод, пока пользователь не предоставит программе значение, которое запускает команду EOF и завершает программу
import java.util.Scanner;
public class LeapYear {
public static void main(String[] args) {
Scanner S = new Scanner(System.in);
System.out.println("Enter a year (0 to end)?");
int year = S.nextInt();
if (year > 1752) {
if (((year%4)== 0) && ((year%100)==0) && ((year%400)==0)) {
System.out.print("Leap Year");
} else if (((year%4)== 0) && ((year%100)==0) && ((year%400)!=0)) {
System.out.println("Regular Year");
} else if ((year%4)== 0) {
System.out.print("Leap Year");
}
else
System.out.print("Regular Year");
}
else
System.out.print ("Please enter a year after 1752");
}
}
1 ответ
У вас есть несколько решений, в вашем случае наиболее подходящим может быть do..while
заявление:
do
{
// your code
}
while (condition); // condition to keep looping: input year not zero