java—如何读取文本文件中的第一行int,使用这些数字,然后转到第二行并重复,直到文件结尾

gpfsuwkq  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(315)

这是我的主要方法。我正在尝试从文本文件中读取第一行整数(5 4 3 7 8 4 3 1 3)。然后我想通过在main方法中调用的方法运行这些数字。然后我想转到文本文件中的下一行(15 1 60 1 43 24 3),也通过我调用的方法运行这些数字,依此类推,直到到达文本文件的末尾。实现这样的事情的最佳方法是什么?我的代码现在将如何运行文本文件中的所有整数,然后通过方法运行它们。

public static void main(String[] args) 
{
    BinaryTree tree = new BinaryTree();
    try 
    { 
        int num;
        Scanner reader = new Scanner(new File("numbers.txt"));
        while(reader.hasNextInt())
        {
            num = reader.nextInt(); 
            if(tree.contains(num))
            {
                tree.remove(num);
            }
            else
            {
            tree.add(num);
            }
        }
       reader.close();
       tree.preorder(root);
       System.out.println();
       tree.inorder(root);
       System.out.println();
       tree.postorder(root);
       System.out.println("\nTotal: " + tree.size(root));
       System.out.println("Height: " + tree.height(root));
       System.out.println("Max: " + tree.getMax(root));
       System.out.println("Min: " + tree.getMin(root));
    }
    catch(IOException e)
    {
        e.printStackTrace();
        System.exit(1);
    }
  }

这是我想使用的文本文件,名为numbers.txt
5 4 3 7 8 4 3 1 3
15 1 60 1 43 24 3
25 28 71 18 48 35 97
6 41 24 40 85 2 92 72 86 59 7 40
76 19 23 40 84 6 67 41 34 66 79 11 38 5 61 60 64 5
81 8 30 80 88 38 90 55 37 45 70 32 41 26

wtlkbnrh

wtlkbnrh1#

我会尝试更像这样的方法:

public static void main(String[] args) throws Exception {
    Scanner reader = new Scanner(new File("numbers.txt"));

    while (reader.hasNextLine()) {
        String[] temp = reader.nextLine().split("\\s+"); // Regex for any and all whitespace used as a delimiter
        for (int x = 0; x < temp.length; x++) {
            // Iterate through each element in the string array temp
        }
        // Resume while loop.
    }

}

相关问题