У меня есть раздел кода, который изменяет значение параметра на основе желаемого ввода и вывода, который был выбран. Итак, в приведенном ниже примере я вычисляю объем сферы, а затем в зависимости от единиц, которые пользователь использовал для ввода, и единиц, которые пользователь выбрал для вывода, с которым обрабатывается номер.Две, казалось бы, одинаковые строки не равны
Моя проблема в том, что все мои операторы if возвращают false, а число 10 (из другого) проходит независимо от того, что выбрано. Я напечатал значение inputPref и outputPref, и они выглядят в точности равными «мм» и «кубический см» (например) и все еще не будут зафиксированы операторами 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