2011-02-15 116 views
1

我希望能夠讀取其行和列的文本文件並將數據放入矩陣中。這是我到目前爲止。我有一個類型爲int的數據成員的矩陣類,它是一個二維數組[] []。掃描儀類和跳過模式

import java.io.*; 
import java.util.*; 

public class test{ 
    public static void main(String args[]) throws FileNotFoundException { 
    File fin = new File ("matrix1.txt"); 
    Scanner scanner = new Scanner(fin); 
    scanner.next(); // removes the first line in the input file 
    int rows = scanner.nextInt(); 
    int cols = scanner.nextInt(); 
    while (scanner.hasNextLine()){ 
     String line = scanner.nextLine(); 
     System.out.println(line); 
     } 
    System.out.println(rows); 
    System.out.println("/n"); 
    System.out.println(cols); 
    } 

}

示例文本文件如下。我想獲取行和列,以便我可以動態聲明矩陣並存儲它的值。我得到錯誤說INPUTMISMATCH異常。幫助將不勝感激。

<matrix> 
    rows = 2 
    cols = 2 

1 2 
2 4 
</matrix> 

回答

2

javacdocs,一個InputMismatchException拋出「如果下一個標記不匹配整數的正則表達式,或超出範圍」。

您試圖以整數掃描字符串「row = 2」。在這種情況下,您不能使用nextInt。嘗試nextLine,然後拆分=以獲取該值。

例子:

String rowLine = scanner.nextLine(); 
String[] arr = rowLine.split("="); 
int rows = Integer.parseInt(arr[1].trim()); 
+0

得到一個出界的錯誤,當我嘗試這一點。 – dawnoflife 2011-02-15 09:23:28