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

发布于 2024-09-03 00:06:47 字数 263 浏览 8 评论 0原文

我试图用整数方法解析一个简单的文本文件,然后从该文件中输出一个整数,以便程序的其他部分可以使用它。出于测试目的,它还显示字符值(在本例中为 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

奈何桥上唱咆哮 2024-09-10 00:06:47

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

如果您使用 BufferedReader 就像:

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

解析后将得到预期的 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:

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

parsed will be the int 9 as expected. Or you may be able to use Scanner and its nextInt

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文