我是新來的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