2012-01-11 45 views
-2

おはようございます、配列が必要ですが見つかりました。

私は別のプロジェクトのコードを変換する際に問題に遭遇していて、ちょっとした助けが必要でした。 'readFile'メソッドでは、ファイルを読み込むときに文字列を整数に解析しようとしています。しかし、それはすべてのヘルプは高く評価され、

敬具 マイク

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


public class JavaApplication1 
{ 
static int [] matrix = new int [10]; 
static Scanner input = new Scanner(System.in); 

public static void main(String[] args) throws IOException 
{ 
    String fileName = "Integers.txt"; 

    // read the file 
    readFile(fileName); 

    // print the matrix 
    printArray(fileName, matrix); 


} 


// Read File 
     public static void readFile(String fileName) throws IOException 
     { 
      String line = ""; 

      FileInputStream inputStream = new FileInputStream(fileName); 
      Scanner scanner = new Scanner(inputStream); 
      DataInputStream in = new DataInputStream(inputStream); 
      BufferedReader bf = new BufferedReader(new InputStreamReader(in)); 

      int lineCount = 0; 
      String[] numbers; 
      while ((line = bf.readLine()) != null) 
      { 
       numbers = line.split(" "); 
       for (int i = 0; i < 10; i++) 
       { 
       matrix[lineCount][i] = Integer.parseInt(numbers[i]); 
       } 
       lineCount++; 
      } 
      bf.close(); 
     } 

    public static void printToFile(String fileName, String output) throws IOException 
{ 
    java.io.File file = new java.io.File(fileName); 
    try (PrintWriter writer = new PrintWriter(file)) 
    { 
     writer.print(output); 
    } 
} 

    public static void printArray(String fileName, int [] array) 
     { 
      System.out.println("The matrix is:"); 

      for (int i = 0; i < 10; i++) 
       { 
        System.out.println(); 
       } 
      System.out.println(); 
     } 



} 
+1

になりたかったと思いますが、正しくエラーメッセージを読む:それは行番号を持っています。これは、エラーがある行です。 –

+2

"それは私にエラーを与えている":誰?どこ?どの例外? – Viruzzo

答えて

1
matrix[lineCount][i] = Integer.parseInt(numbers[i]); 

が間違っているエラー '配列が見つかったが、必要なint型' 私に与えて

をされています。

いずれか

matrix[lineCount]= Integer.parseInt(numbers[i]); 

OR

matrix[i]= Integer.parseInt(numbers[i]); 
3

matrixあるべきmatrix[lineCount]がintであることを意味するタイプintの配列です。

matrix[lineCount][i]あなたはintの場所を取得しています。 そのため、そのエラーが発生しています。

私はあなたが行列int[][] matrix = new int[10][10];

関連する問題