【发布时间】:2017-04-17 00:09:21
【问题描述】:
我正在尝试从文件中读取信息,以便使用 Java 创建图表。我有下面的代码,但是,运行后输出为空。
该文件提供类似于以下的信息
3
肯塔基佛罗里达阿拉巴马
...
...
其中 3 是图中顶点的数量,下一行中的 3 个位置是这些顶点。我正在努力找出导致空输出的原因。
public class ReadGraph {
static int vertNum = 0;
static String[] output;
public static String[] readVertices(Scanner fileIn) throws FileNotFoundException {
fileIn = new Scanner(new File("input.txt"));
vertNum = fileIn.nextInt();
output = new String[vertNum];
for (int i = 0; i < vertNum - 1; i++) {
output[i] = fileIn.next();
}
Arrays.sort(output);
fileIn.close();
return output;
}
}
此时输出应该是按字母顺序排列的位置列表。任何帮助将不胜感激。
【问题讨论】:
-
一步一步调试,找出哪一行没有做你认为应该做的事情。
-
为什么你的方法
readVertices()将Scanner作为参数,然后立即创建new Scanner()? -
for (int i = 0; i < vertNum - 1; i++)应该是for(int i=0 ; i<vertNum ; i++) -
@domdom 因为我不确定如何在不创建新扫描仪的情况下让它从文件中读取。
标签: java file parsing java.util.scanner