Java方法中的整数输出与预转换的char值不同

时间:2010-05-25 03:38:27

标签: java char int

我正在尝试用整数方法解析一个简单的文本文件,然后从这样的文件中输出一个整数,以便程序的其他部分可以使用它。出于测试目的,它还显示字符值(在这种情况下为9)。由于某种原因,整数值是57.我也尝试了文本文件的另一部分(在这种情况下应该是5,而不是53)。

在查看ASCII图表后,我看到57是“符号”9的ASCII版本,53是“符号”的ASCII版本5.有没有简单的方法可以解决这个问题?我变得有点沮丧,因为我是一个Java新手(我之前大部分时间都只使用过FreePascal)。

1 个答案:

答案 0 :(得分:3)

你无法“修复”。这就是ASCII的工作方式。如果您发布代码,我们可以展示更好的方法。例如,您可能根本不需要显式使用字符。

如果你使用BufferedReader之类的话:

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

解析将是预期的int 9。或者您也可以使用Scanner及其nextInt