私はjavaを使い慣れていません。なぜ変数の合計が更新されないのか混乱しています。私はそれを印刷すると、0の最初の番号が表示されます。また、メソッドの値は、ローマ字に基づいて数値を返します。私はクラスラインを外したが、それは問題ではない。私の合計は私のループで更新されていません
public static void main(String[] args)
{
double total = 0;
String romanString = "MCMLXXVIII";
double difference = 0;
while (romanString.length() > 0)
{
if (romanString.length() == 1 || value(romanString.substring(0, 1)) >= value(romanString.substring(1, 2)))
{
total = total + value(romanString.substring(0, 1));
romanString = romanString.substring(1);
}
else
{
difference = value(romanString.substring(1, 2)) - value(romanString.substring(0, 1));
total = total + difference;
romanString = romanString.substring(1);
}
System.out.println(total)
}
}
public static double value(String character)
{
if (character == "I")
return 1;
else if (character == "V")
return 5;
else if (character == "X")
return 10;
else if (character == "L")
return 50;
else if (character == "C")
return 100;
else if (character == "D")
return 500;
else if (character == "M")
return 1000;
return 0;
}
}
これは、問題のデバッグ方法を学ぶのに最適な時期です。デバッガを使用するか、一時的なprintlnをコード全体に広範囲に振りかけて、実行中の変数が何であるかを確認してください。 –
'value()'とは何ですか?あなたが開発した方法ですか? –
このコードは不完全です。 'value()'関数はどこにありますか?最後の '}'も閉じられません。 – Arun