2013-12-19 3 views
1

У меня вопрос о том, как использовать оператор модуля в java. В моем случае я пытаюсь использовать его для проверки того, делится ли что-то числом. Я попытался использовать инструкцию if, но я получил ошибку: illegal start of expressionкак использовать модуль java и boolean

Как я могу это исправить? Любая помощь будет оценена. Кроме того, как я делаю это отображение истинно, если оно делится, потому что, когда я поставил так, он говорит: not a statement Ниже мой код:

Testing1.java:

public class Testing1{ 

public static boolean isNotLeapYear(int year){ 
    if(year/400 == %0){ 
     true; 
    } 
} 
} 

ответ

1

От Wikipedia -

if year is divisible by 400 then is_leap_year

else if year is divisible by 100 then not_leap_year

else if year is divisible by 4 then is_leap_year

else not_leap_year

поэтому полный код следует читать:

public static boolean isLeapYear(int year){ 
    // if year is divisible by 400 then is_leap_year 
    if(year % 400 == 0){ 
     return true; 
    // else if year is divisible by 100 then not_leap_year 
    } else if (year % 100 == 0) { 
     return false; 
    // else if year is divisible by 4 then is_leap_year 
    } else if (year % 4 == 0) { 
     return true; 
    // else not_leap_year 
    } else { 
     return false; 
    } 
} 

Обратите внимание, что это код isLeapYear не isNotLeapYear, как в вашем вопросе.

1

Вы смотрите на неправильный путь оператора %. Вы можете просто сделать

return year % 400 == 0; 
1

Вот как вы можете проверить високосный год, ваш метод немного.

boolean isLeapYear = ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0)); 
Смежные вопросы