У меня есть ошибка с возвращаемым значением, оно говорит, что оно не инициализировано, но у меня оно инициализировано в операторе if then прямо над ним - PullRequest
0 голосов
/ 05 ноября 2018

У меня ошибка с возвращаемым значением, оно говорит, что оно не инициализировано, но у меня оно инициализировано в операторе 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;
}

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

Пожалуйста, попробуйте удалить остальную часть и указать значение в форме инициализации вашего 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;
}
0 голосов
/ 05 ноября 2018

Если j = 0, f! = 0, значение проверки не будет инициализировано. Точно так же, если j = 0, r! = 0.

Шаблон, которым следует следовать, должен быть,

var = "initialize default value"
if (conditions)
  set var
return;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...