猿问

我的返回值有一个错误,它说它没有初始化,但我在它上面的 if then 语句中初始化了它

我的返回值有错误,它说它没有初始化,但我在它上面的 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;

}


慕哥9229398
浏览 114回答 2
2回答

翻阅古今

请尝试删除 else 部分并将值置于您的初始化形式中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;}

慕田峪9158850

如果 j = 0, f != 0,check 的值不会被初始化。类似地,如果 j = 0,则 r != 0 也是如此。遵循的模式通常应该是,var = "initialize default value"if (conditions)  set varreturn;
随时随地看视频慕课网APP

相关分类

Java
我要回答