我正在使用BlueJ IDE編寫Java程序。BlueJ中的編譯錯誤 - 如果返回語句爲
我有一個String返回類型的方法。我在if-else中放置了返回語句,如果布爾變量「flag」具有真值,則返回一個值,而如果值爲假,則返回另一個值。
現在,問題是,即使在此之後BlueJ要求另一個返回語句,如下所示。
如果我給的if-else,它的作品陸續返回。
這是怎麼發生的?我瞭解到,在退貨聲明後不會有任何陳述。那麼,編譯器爲什麼要求另一個return語句呢?
如果有人想要剪貼的目的代碼,在這裏。此代碼旨在將二進制數轉換爲其十進制等值,包括分數,但不包含負數。
public class Conversions{
protected String Binary_Decimal(String str){
int a = str.indexOf('.');
boolean flag = false;
if (a == -1){
str += ".0";
a = str.indexOf('.');
flag = true;
}
String bd = str.substring(0, a);
String ad = str.substring(a + 1);
a = 0;
double num = 0;
for (int i = bd.length() - 1; i >= 0; i--){
num += Math.pow(2, a) * Integer.parseInt(Character.toString(str.charAt(i)));
a++;
}
if (flag == true){
return Integer.toString((int) num);
}
else if (flag == true) {
a = -1;
for (int i = 0; i < ad.length(); i++){
num += Math.pow(2, a) * Integer.parseInt(Character.toString(str.charAt(i)));
a--;
}
return String.valueOf(num);
}
return String.valueOf(num); //<-- WHY DOESN'T IT RUN WITHOUT THIS EXTRA return?
}
}
這裏,str
是是通過使用不同的方法Input()
所述用戶輸入的字符串。
將文本插入代碼。不能引用,編譯等圖像 –