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

时间:2015-04-28 01:30:18

标签: java tree int text-files

这是我的主要方法。我试图从文本文件中读取第一行整数(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

1 个答案:

答案 0 :(得分:-1)

我会尝试更像这样的事情:

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.
    }

}