如何确保输入是Java上带有hasNextInt的整数
新来的程序员。这可能是一个非常基本的问题,但它仍然困扰着我。
当我试图在Eclipse上运行这段代码时,什么都没有发生。我在检查闰年。输入必须是整数,如果不是,我想继续重复循环(我试图通过input.hasNextInt
部分实现这一点)。然而,当我试图运行它时,什么都不会弹出,控制台仍然是空的
有人知道这里出了什么问题吗
import java.util.Scanner;
public class Leapyear {
public static void main(String[] args)
{
int year;
Scanner input = new Scanner(System.in);
while (!input.hasNextInt()) {
System.out.println("Enter a year in numbers:");
input.next();
}
year = input.nextInt();
System.out.println("Enter a year:");
input.close();
boolean is_leap = false;
if (year % 4 == 0)
{
if (year % 100 == 0)
{
if (year % 400 == 0)
is_leap = true;
else
is_leap = false;
}
else
is_leap = true;
}
else
is_leap = false;
if(is_leap)
System.out.println(year + " is a leap year!");
else
System.out.println(year + " is not leap year!");
}
}
# 1 楼答案
实际上,您需要打印一次消息才能在控制台中看到它,否则,只有在执行while循环时才会显示消息