Imm*_*nce 1 java loops input while-loop
我已经用 while 循环尝试了几件事,但似乎无法让它工作。我想一直请求用户输入,直到用户输入数字 0,这是我到目前为止的代码:
import java.util.*;
public class Task10 {
public static void main(String[] args) {
System.out.println("Enter a year to check if it is a leap year");
Scanner input = new Scanner(System.in);
int year = input.nextInt();
if ((year % 4 == 0) || ((year % 400 == 0) && (year % 100 != 0)))
System.out.println(year + " is a leap year");
else
System.out.println(year + " is not a leap year");
}
}
Run Code Online (Sandbox Code Playgroud)
在输入行上方使用 while 循环作为:
while(true)
Run Code Online (Sandbox Code Playgroud)
并且,使用if条件到break.
if(year == 0)
break;
Run Code Online (Sandbox Code Playgroud)
此外,leap year您的代码中的条件错误。它应该是:
if((year % 100 == 0 && year % 400 == 0) || (year % 4 == 0 && year % 100 != 0))
//its a leap year
else
//its not
Run Code Online (Sandbox Code Playgroud)
PS:在评论中,我会给出一个完整的代码:
import java.util.*;
public class Task10 {
public static void main(String[] args) {
System.out.println("Enter a year to check if it is a leap year");
while(true){
Scanner input = new Scanner(System.in);
int year = input.nextInt();
if(year == 0)
break;
if((year % 100 == 0 && year % 400 == 0) || (year % 4 == 0 && year % 100 != 0))
System.out.println(year + " is a leap year");
else
System.out.println(year + " is not a leap year");
}
}
}
Run Code Online (Sandbox Code Playgroud)