我的返回值有錯誤,它說它沒有初始化,但我在它上面的 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 回答

翻閱古今
TA貢獻1780條經驗 獲得超5個贊
請嘗試刪除 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
TA貢獻1794條經驗 獲得超8個贊
如果 j = 0, f != 0,check 的值不會被初始化。類似地,如果 j = 0,則 r != 0 也是如此。
遵循的模式通常應該是,
var = "initialize default value"
if (conditions)
set var
return;
添加回答
舉報
0/150
提交
取消