麻烦while while循环和扫描程序java

时间:2016-01-09 23:34:37

标签: java input while-loop

编程很新。我知道对于有经验的程序员来说,这个问题很容易回答。我想继续运行这个程序,找到闰年,直到用户输入“n”。程序在能够输入y / n之前终止。非常感谢帮助......谢谢。

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        String another = "y";
        Scanner scan = new Scanner(System.in);
        System.out.print("Please enter a year ");
        int year = scan.nextInt();

        while (another.equals("y")) {

            if (year < 1582) {
                System.out.println("Not an established Gregorian year.");
            } else if (year % 4 != 0 || (year % 100 == 0 && year % 400 != 0)) {
                System.out.println("Not a leap year");
            } else {
                System.out.println("Leap year!");
            }

            System.out.println();
            System.out.print("Test another year (y/n)?");
            another = scan.nextLine();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

当人员在开始时输入年份编号时的输入未用完。它存储在“缓冲区”中,当程序到达您要求再做一年的时间点时,它会读取缓冲区中的输入。要解决此问题,您只需要另一个scan.nextLine();在重要的人之前。