У меня ошибка с возвращаемым значением, оно говорит, что оно не инициализировано, но у меня оно инициализировано в операторе if then прямо над ним.
public static String leapYear(int n) { int j; int r; int f; j = n % 4; String check; if (j == 0) { r = n % 100; if (r == 0) { f = n % 400; if (f == 0) { check = ("The year is a leap year."); } } } else { check = ("The year is not a leap year."); } return check; }
Пожалуйста, попробуйте удалить остальную часть и указать значение в форме инициализации вашего String:
String
public static String leapYear(int n){ int j; int r; int f; j=n%4; String check = "The year is not a leap year."; if(j==0){ r=n%100; if(r==0){ f=n%400; if(f==0){ check=("The year is a leap year."); } } }/* else{ check=("The year is not a leap year."); }*/ return check; }
Если j = 0, f! = 0, значение проверки не будет инициализировано. Точно так же, если j = 0, r! = 0.
Шаблон, которым следует следовать, должен быть,
var = "initialize default value" if (conditions) set var return;