2013-11-24 21 views
2
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 

這裏鄰接矩陣produced.i已經更新file.i希望將文件條目轉換成鄰接表

回答

0

從改變你的data聲明

int[][] data = new int[5][5]; 

爲了

int[][] data = new int[6][6]; 

因爲,在cbin=5

data[nbin][cbin] = 1;// ArrayIndexOutOfBoundsException. 
+0

我需要將這些數據轉換爲鄰接list.do u有什麼想法? –