Целочисленный вывод в методе Java не совпадает с предварительно преобразованным значением char - PullRequest
1 голос
/ 25 мая 2010

Я пытаюсь проанализировать простой текстовый файл в целочисленном методе, а затем вывести целое число из такого файла, чтобы другие части программы могли использовать его. В целях тестирования также отображается символьное значение (в данном случае 9). Целочисленное значение по какой-то причине равно 57. Я также пробовал это с другой частью текстового файла (который в этом случае должен быть 5, но вместо этого 53).

Посмотрев на диаграмму ASCII, я вижу, что 57 - это ASCII-версия "символа" 9, а 53 - это ASCII-версия "символа" 5. Есть ли какой-нибудь простой способ исправить это? Я немного расстроен, потому что я новичок в Java (до этого я в основном использовал только FreePascal).

1 Ответ

3 голосов
/ 25 мая 2010

Это ничего нельзя исправить. Вот как работает ASCII. Если вы разместите свой код, мы можем показать лучший подход. Например, вам, вероятно, вообще не нужно явно использовать символы.

Если вы используете BufferedReader, например:

BufferedReader buffReader = ...;
...
String line = buffReader.readLine(); // line is now "9"
int parsed = Integer.parseInt(line);

разобранным будет int 9, как и ожидалось. Или вы можете использовать Scanner и его nextInt

...