java - 从外部文件中提取值时获取 "No line found"

标签 java arrays random java.util.scanner

好吧,所以我需要从不固定大小的文件中随机抓取一些字符串。因此,为此,我首先使用简单的 while 循环来计算文件中的行数。之后,我只需将该值提供给随机对象并将我需要的十个值存储到数组中:

int[] select = new int[10];

但是我在使用这段代码时遇到了问题。

 String[] value = new String[10];
 for (sel = 0; sel <= 9; sel++){
      int w = select[sel];
      Scanner input = new Scanner(file.txt);      
      for (int q = 0; q <= w; q++){ 
        String bank = input.nextLine();
        input.nextLine();
        value[sel] = bank;
      }

代码可以工作,但似乎如果代码正在寻找的值太高,(编辑:已确认超过 60)我会得到异常:

java.util.NoSuchElementException:未找到行

相关文件超过 100 行,那么值 75 会如何导致此错误?

最佳答案

每次迭代都会跳过 1 行并读取下一行,这意味着每次都会向下移动 2 行。

String bank = input.nextLine();
input.nextLine();

所以在 60 处,它实际上是在尝试读取第 120 行。

相反,只需执行以下操作:

for (int q = 0; q <= w; q++){ 
    String bank = input.nextLine();
    //other codes here..
}

为什么你用另一个循环读取完全相同的文件 10 次也是值得怀疑的。

关于java - 从外部文件中提取值时获取 "No line found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48954789/

相关文章:

php - 显示来自 mysql 查询的部分结果

algorithm - 均匀分布的随机数从一个范围到另一个范围的节俭转换

java - 在服务器停止时获取内存泄漏错误(Eclipse、Hibernate、Spring)

java - JRE 版本足以运行 jar

java - Hibernate Mass 插入/更新 : is this a good approach?

java - 如何从描述颜色的css样式字符串中获取java中的Color对象?

arrays - 带有 JSON 的 Mule 集合拆分器

c++ - 检测循环并加快求和速度

C# int.MinValue 的随机种子值不可预测

python - 有谁知道一种打乱列表中元素的方法?