Я совершенно новичок в Java, поэтому извините, если ответ на этот вопрос кажется очевидным ...
Я написал метод в своем классе следующим образом:
private static final String[] rCode = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"}
private int getCharValue(String code)
{
// loop through the codes to find a
// matching code, if found exit loop (via return).
for (int position = 0; position < rCode.length; position++)
{
if (rCode[position] == code)
return rVal[position];
} // for
// otherwise return 0
return 0;
} // getCharValue
В другом методе того же класса я перебираю символы строки следующим образом:
String number = "MMMCDXXXIV";
for (int pos = 0; pos < number.length(); pos++)
{
System.out.println(number.substring(pos, pos + 1) + " " + getCharValue(number.substring(pos, pos + 1)));
} // for
Моя проблема в том, что хотя мой метод getCharValue () работает нормально, когда я жестко кодирую значение в, например, getCharValue("X")
это не работает, когда я называю это как getCharValue(number.substring(pos, pos + 1))
(хотя я знаю, что number.substring(pos, pos + 1)
возвращает одиночные символы, которые должны возвращать значения.
Может кто-нибудь увидеть мою очевидную ошибку?
Большое спасибо ...