0

私はうるう年をテストするためのコードを作成しましたが、それが過去であるかどうかを指示するための修正を追加したいと思います。そのために、入力が2012以上の場合は現在形が真であることが証明され、そうでない場合は過去形を想定するという条件を追加しました。ただし、現状ではこの修飾子を無視し、最初のステートメントを実行するだけです。これを仕上げるのに助けをいただければ幸いです。

下記のコード

{
    int input;

    System.out.println("Enter year:");
    Scanner keyboard = new Scanner(System.in);
    input = keyboard.nextInt();

    while (input >= 2012){

    if ((input%4==0) && input%100!= 0)
    {
        System.out.println(input + " is a leap year.");
    }
    else if (input%400==0)
    {
        System.out.println(input + " is a leap year.");
    }
    else
    {
        System.out.println(input + " is not a leap year.");
      }
}
    while (input < 2012){

    if ((input%4==0) && input%100!= 0)
    {
        System.out.println(input + " was a leap year.");
    }
    else if (input%400==0)
    {
        System.out.println(input + " was a leap year.");
    }
    else
    {
        System.out.println(input + " was not a leap year.");
    }
}

}
}
4

2 に答える 2

0

whileループが何のためにあるのか本当にわからないと思います。これはループです。つまり、条件が満たされないまで繰り返されます。例:

x=10
while(x!=0){ int dosomething = 1; x--}

このループは10回繰り返されます。したがって、whileをifに変更するだけで、コードは正常に機能するはずです。

于 2012-09-23T09:00:45.270 に答える
0

私はあなたがここで間違っていると思います-代わりに ie もwhile (input >= 2012)
使用してくださいifwhileif (input >= 2012)
if (input <= 2012)

于 2012-09-23T08:42:47.470 に答える