0

ファイルからデータを読み取り、2 次元配列にロードして、画面に出力しようとしています。
しかし、私はエラーコードを受け取り続けます

Exception in thread "main" java.util.NoSuchElementException
    at java.util.StringTokenizer.nextToken(StringTokenizer.java:349)
    at test.main(test.java:14)

以下は私のコードです。どんなアドバイスも素晴らしいでしょう。私は何かばかげたことを見逃しているように感じます。ここで別の役立つ目が必要です。ありがとう

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

public class test{ 

    public static void main(String args[]) throws IOException{ 
        double [][] P= new double [5][3];

        BufferedReader Infile = new BufferedReader(new FileReader("P08RATE.DAT"));
        StringTokenizer Tokens;
        while (Infile.ready()){ 
            Tokens = new StringTokenizer(Infile.readLine());
            for (int k=0; k<P.length; k++)
                for (int j=0; j<P[k].length; j++)  
                    P[k][j] = Double.parseDouble(Tokens.nextToken());
        }
        Show(P);
    }

    /*-------------- Method: Show() ---------------*/
    private static void Show(double C[][]){ 
        int i, j;
        for (i=0; i < C.length; i++){ 
            for (j=0; j < C[i].length; j++)  
                System.out.print("  " + C[i][j]);
            System.out.println('\n');  
        }
    } //PrintArray

}
4

1 に答える 1

0

入力ファイルを見ずに何をしようとしているのかは完全には明らかではありません。しかし、それが厳密に次のようなものである場合

double double double
double double double
double double double
double double double
double double double

あなたはラインを持っている必要があります

Tokens = new StringTokenizer(Infile.readLine());

最初の for ループの内部。

于 2013-12-09T22:13:56.363 に答える