2

私の質問は非常に単純です。テキストファイルを読み込んで、ファイルの最初の行を整数に格納し、ファイルの1行おきに多次元配列を格納したいと思います。これを行うことを考えていた方法は、ifステートメントと別の整数を作成し、その整数が0のときに、その行を整数変数に格納することです。これはばかげているように見えますが、もっと簡単な方法があるはずです。

たとえば、テキストファイルの内容が次の場合:

4
1 2 3 4
4 3 2 1
2 4 1 3
3 1 4 2

最初の行「4」は整数で格納され、1行おきに多次元配列に入ります。

public void processFile(String fileName){
    int temp = 0;
    int firstLine;
    int[][] array;
    try{
        BufferedReader input = new BufferedReader(new FileReader(fileName));
        String inputLine = null;

        while((inputLine = input.readLine()) != null){
            if(temp == 0){
                firstLine = Integer.parseInt(inputLine);
            }else{
                // Rest goes into array;
            }
            temp++;
        }
    }catch (IOException e){
        System.out.print("Error: " + e);
    }
}
4

3 に答える 3

2

私はあなたのためにそれをするために意図的にこれに答えていません。で何かを試してみてください:

  1. String.split
  2. 次のような行array[temp-1] = new int[firstLine];
  3. 別の線のある内側のforループInteger.parseInt

それはあなたに道の残りを得るのに十分なはずです

于 2012-12-03T01:55:53.230 に答える
0

代わりに、ファイルの最初の行を整数として格納してから、forループに入り、ファイルの残りの行をループして配列に格納することができます。if最初のケースが最初に発生し、他のケース(配列)が後に発生することがわかっているため、これには、は必要ありません。

于 2012-12-03T01:54:02.373 に答える
0

ファイルIOの使い方を知っていると思います。私はあまり経験がありませんが、これは私がそれについて考える方法です:

while (inputFile.hasNext())
  {
     //Read the number
     String number = inputFile.nextLine();

     if(!number.equals(" ")){
       //Do what you need to do with the character here (Ex: Store into an array)
     }else{
       //Continue on reading the document
     } 
  }

幸運を。

于 2012-12-03T02:02:39.150 に答える