我想要做的就是从文件中的数字创建一个数组...我对Java还是很陌生,所以它可能不是最有效的方法,但是我现在只了解有限的知识。

运行它时,我收到以下消息:

Exception in thread "main" java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Scanner.java:1540)
at CreateArray.main(CreateArray.java:27)


这是我对代码的微弱尝试:

import java.io.*;
import java.util.Scanner;
import java.util.ArrayList;

public class CreateArray
{
  public static void main(String[] args) throws IOException
  {
    File file = new File("Numbers.txt");
    Scanner inputFile = new Scanner(file);

    // Find the number of lines in the file
    int count = 0;
    while (inputFile.hasNextLine())
    {
      String str = inputFile.nextLine();
      count++;
    }

    // Create array
    double[] numbers = new double[count];

    // Add numbers to array
    String str;
    while (inputFile.hasNextLine());
    {
      for (int i = 0; i < count; i++)
      {
        str = inputFile.nextLine();
        numbers[i] = Double.parseDouble(str);
      }
    }

    // Display array
    for (int i = 0; i < numbers.length; i++)
      System.out.print(numbers[i] + " ");
  }
}

最佳答案

当您使用扫描仪在代码中写入inputFile.hasNextLine()时,您实际上已经从文件中读取了一行。正如@tima所说,您已经在第一个while循环中完成了文件的读取。尝试查看此java: about read txt file into array

关于java - 从文件创建数组;得到错误:线程“main”中的异常java.util.NoSuchElementException:未找到行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45310684/

10-12 00:20
查看更多