gpt4 book ai didi

Java charAt() 方法在 For 循环中崩溃

转载 作者:行者123 更新时间:2023-12-02 07:33:33 24 4
gpt4 key购买 nike

以下代码应从 .dat 文件中读取 5 个字符串,然后打印每个字符串中的每个单独字符。

File file = new File("tictactoe.dat");
Scanner scan = new Scanner(file);
String str = "";
int x;
for ( x = 0; x < numGames; x++) {
str = scan.nextLine();
for (int i = 0; i < str.length(); i++) {
out.println(str.charAt(i));
}
}

但是程序抛出了StringIndexOutOfBoundsException扫描仪没有任何问题,因为测试表明它可以很好地拾取我文件中的每一行。但是,当尝试获取然后打印每个字符串中的某个字符时,程序崩溃了。

奇怪的是,在循环之外 charAt() 工作时没有错误。

为什么在循环内调用方法会导致程序崩溃?

更新:我在复制我正在使用的代码时犯了一些荒谬的错误。请参阅上面更新的代码。另外,程序由于 StringIndexOutOfBoundsException 而“崩溃”,而我没有捕获到该异常。

最佳答案

当您打印第一行的第一个字母和第二行的第二个字母等时,我预计错误是 StringIndexOutOfBoundsException 。因为您不检查是否存在这样的情况字母存在,到了某个点,线就不再那么长了。

如果这不是我会的原因

  • 阅读异常并将其发布在问题中。
  • 使用调试器单步调试代码以查找代码中的错误。

关于Java charAt() 方法在 For 循环中崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12605978/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com