import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.StringTokenizer;
public class Graph1 {
public static void main(String[] args) throws FileNotFoundException {
int linecount = 0, ec = 0;
int nbin = 0, cbin = 0;
int[][] data = new int[6][6];
String e = "e";
Scanner sc = new Scanner(System.in);
System.out.print("Enter input file name: ");
String newfile = sc.nextLine() + ".txt";
File file = new File(newfile);
Scanner scan = new Scanner(file);
while ((scan.hasNext())) {
StringTokenizer t = new StringTokenizer(scan.nextLine());
if(t.nextToken().equals(e)) {
ec++;System.out.print("ec.." + ec );
nbin = Integer.parseInt(t.nextToken());
cbin = Integer.parseInt(t.nextToken());
data[nbin][cbin] = 1;
}
}
我的输入文件是:
jjjjjjjjj
e 1 3
e 2 5
e 3 4
e 4 1
e 5 3
这里生成了邻接矩阵。我已经更新了文件。我想将文件条目转换为邻接列表
最佳答案
更改您的数据
声明
int[][] data = new int[5][5];
到
int[][] data = new int[6][6];
因为,在 cbin=5
data[nbin][cbin] = 1;// ArrayIndexOutOfBoundsException.
关于java - 使用扫描仪和字符串标记器读取文件并检索邻接列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20172348/