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