Как перенести логику в отдельный метод и воспользоваться им?
Мне сказали доработать код с таким комментарием:
Логику определения високосности (или дней в году) лучше было вынести в отдельный метод. Для этого создайте отдельный метод, который будет принимать год (т.е. всего один параметр) и возвращать (return) количество в нём дней и ничем другим он заниматься не будет. А затем используйте его в своей программе.
Вот я сделал он не срабатывает, код не хочет компилироваться:
import java.util.Scanner;
public class Main {
public static final int NUMBER_GOD = 400;
public static int leapYear(int year) {
int result = (year % NUMBER_GOD);
return result;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum = 0;
while (true) {
System.out.println("Введите года в формате уууу");
int year = scanner.nextInt();
System.out.println("Введите количество дней:");
int day = scanner.nextInt();
if (leapYear) == 0 && day == 366 || leapYear != 0 && day == 365) {
sum = sum + 1;
} else if (year % NUMBER_GOD != 0 && day == 366) {
System.out.println("Неправильно! В этом году 365 дней! Набрано очков: " + sum);
break;
} else if (year % NUMBER_GOD == 0 && day == 365) {
System.out.println("Неправильно! В этом году 366 дней! Набрано очков: " + sum);
break;
}
}
}
}
Ошибки при компиляции:
Main.java:21: error: illegal start of expression
if (leapYear) == 0 && day == 366 || leapYear != 0 && day == 365){
^
Main.java:21: error: not a statement
if (leapYear) == 0 && day == 366 || leapYear != 0 && day == 365){
^
Main.java:21: error: ';' expected
if (leapYear) == 0 && day == 366 || leapYear != 0 && day == 365){
^
Main.java:23: error: 'else' without 'if'
}else if (year % NUMBER_GOD != 0 && day == 366) {
^
4 errors