Java方法中的整数输出与预先转换的字符值不同
我试图用整数方法解析一个简单的文本文件,然后从该文件中输出一个整数,以便程序的其他部分可以使用它。出于测试目的,它还显示字符值(在本例中为 9)。由于某种原因,整数值为 57。我还尝试了文本文件的另一部分(在这种情况下应该是 5,但实际上是 53)。
查看 ASCII 图表后,我发现 57 是“符号”9 的 ASCII 版本,53 是“符号”5 的 ASCII 版本。有什么简单的方法可以解决这个问题吗?我有点沮丧,因为我是一个 Java 新手(在此之前我大多只使用过 FreePascal)。
I'm trying to parse a simple text file in an integer method and then output an integer from such file so that other parts of the program can use it. For testing purposes it also displays the character value (9 in this case). The integer value for some reason is 57. I've also tried it with another part of the text file (which in that case should be 5, but is instead 53).
After looking at an ASCII chart, I see that 57 is the ASCII version of the "symbol" 9 and that 53 is the ASCII version of the "symbol" 5. Is there any simple way I can fix this? I'm getting kind of frustrated as I'm a Java newbie (I've mostly only used FreePascal before this).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这不是你可以“修复”的。这就是 ASCII 的工作原理。如果您发布代码,我们可以展示更好的方法。例如,您可能根本不需要显式使用字符。
如果您使用
BufferedReader
就像:解析后将得到预期的 int 9。或者您可以使用
Scanner< /code>
及其
nextInt
It's nothing you can "fix". That's how ASCII works. If you post your code, we can show a better approach. For instance, you probably don't need to explicitly use chars at all.
If you use a
BufferedReader
like:parsed will be the int 9 as expected. Or you may be able to use
Scanner
and itsnextInt