誰かがここで何が起こっているのか説明してもらえますか? 「静的コンテキストから参照できない非静的変数」はなぜですか。このコードに表示されますか?parseBinary を非静的に変更しようとしました。BinaryFormatException クラスを静的に変更しようとしました... (許可されていません)。このエラーに対する私の理解は非常に弱いです。私は通常、いくつかの静的な言葉と公共の言葉を入れ替えて、正しく機能させることができることを知っています. これでそのような運はありません。これは宿題の質問です...しかし、その作業はエラーを中心に展開しません。これは、バイナリ文字列が正しく形成されていない場合にスローされるカスタム例外クラスの作成に関係しています。したがって、私の質問は問題の解決に役立ちますが、答えは得られません。
public class binaryToDecimal {
public static void main(String[] args) {
try {
System.out.println(parseBinary("10001"));
System.out.println(parseBinary("101111111"));
} catch (BinaryFormatException ex) {
ex.getMessage();
}
}
public static int parseBinary(String binaryString)
throws BinaryFormatException {
int value = 0;
for (int i = 0; i < binaryString.length(); i++) {
char ch = binaryString.charAt(i);
if (ch != '0' && ch != '1') {
throw new BinaryFormatException(String message);
value = 0;
} else
value = value * 2 + binaryString.charAt(i) - '0';
}
return value;
}
class BinaryFormatException extends Exception {
public BinaryFormatException(String message) {
super(message);
}
}
}