私はBlueJ IDEを使用してJavaプログラムを作成しています。BlueJでコンパイルエラー - 他の場合returnステートメントで
私はString戻り型のメソッドを持っています。 boolean変数 "flag"がtrueの値を持つ場合、一方の値が返され、falseの場合は別の値が返されるように、return文をif-else内に置いています。
ここで、BlueJはこれ以降も別のreturn文を要求します。
私は、それが動作するかどうか、他の後に別のリターンを与える場合。
どうしてですか?私はreturn文の後に文がないことを知りました。だから、なぜコンパイラは別のreturn文を要求していますか?
誰かがカット・ペーストの目的でコードを望む場合、ここにあります。このコードは、2進数を分数を含む10進数に変換しますが、負の数は変換しません。ここ
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()
を用いてユーザにより入力された文字列です。
テキストを挿入します。画像を引用することはできません。 –