我有一段代碼根據所需的輸入和輸出來改變參數的值。因此,在下面的示例中,我計算球體的體積,然後根據用戶用於輸入的單位以及用戶爲輸出選擇的單位相應地操縱數字。兩個看似相等的字符串不等於
我的問題是,我所有的if語句都返回false,並且無論選擇什麼,數字10(來自else)都會通過。我已經輸出了inputPref和outputPref的值,它們看起來完全等於「mm」和「cubic cm」(例如),但仍然不會被if語句捕獲。
任何明顯的錯誤?如果有幫助,兩個變量「inputPref」和「outputPref」將從共享首選項中加載!
double volumeBase = 4 * piDouble * radius * radius * radius/3;
double volume;
if(inputPref.equals("mm") || outputPref.equals("cubic cm"))
{
volume = volumeBase/1000;
}
if(inputPref.equals("mm") || outputPref.equals("cubic metres"))
{
volume = volumeBase/1000000000;
}
if(inputPref.equals("cm") || outputPref.equals("cubic mm"))
{
volume = volumeBase * 1000;
}
if(inputPref.equals("cm") || outputPref.equals("cubic metres"))
{
volume = volumeBase/1000000;
}
if(inputPref.equals("metres") || outputPref.equals("cubic mm"))
{
volume = volumeBase * 1000000000;
}
if(inputPref.equals("metres") || outputPref.equals("cubic cm"))
{
volume = volumeBase * 1000000;
}
else
{
volume = 10;
}
try inputPref.trim()。equals() –
你是否修剪了('String.trim()')字符串? – SJuan76
另外,我有一種感覺,你的''''應該是'&&'和。 – SJuan76