1

私はコーディング実験の最中ですが、通常、この最後の部分まですべてが順調に進んでいます。私はこのサブ質問からどこから始めればよいのか本当にわかりません、そしてあなたが信じられないようにそれは本当に私にストレスを与えています。エラーが発生するだけで、何度も試してみました。そして、それ以前とそれ以降のすべてがうまくいったので、それは本当のダウナーです。どこから始めればいいのかわからないだけで、チュートリアルを読んだ後でも、正しく動作させるのに大きな問題があります。

基本的に、私はこのtxtファイル(http://www.mediafire.com/?a6d7c0c5cdu1gup)を読み、データを5つの配列に配置する必要があります(スキャナーなし)

NameはName配列に入る必要があり、N / YはBefore配列に入る必要があり、数字の次の列はtimespent配列に入る必要があり、次の列はassistants配列と最後の行に入る必要がありますリスク配列に入る必要があります。

つまり、5つのアレイがあります

String Name [] = new String [20)

Char Before [] = new Char [20]

Int timeSpent [] = new Int [20]

Int Assistants [] = new int [20]

Double Risk [] = new Double [20]

これらは私が作成した5つの配列ですが、私が問題を抱えているのは、テキストファイルを読み取り、適切な列が適切な配列に入るように書き込むことです。

したがって、コードとそれらの値を適切なそれぞれの配列にまとめて続行できるようにするための支援があれば、非常に高く評価されます。どうもありがとう。

4

2 に答える 2

3

BufferedReader を使用して行ごとに取得し、正規表現を使用して分割します

  File file = new File("1.txt");
  FileReader fr = new FileReader(file);
  BufferedReader in = new BufferedReader(fr);
  String line;
  while ((line = in.readLine()) != null){
      String[] record = line.split(",\\s*");  
      // record[0] contain name
      // record[1] contain N/Y etc.. 
      //* code here 

  }
于 2012-07-27T06:58:25.010 に答える
2

クラスを使用せずにファイルをトラバースする方法を示すこの例を見ることができます。Scanner行を読んだら、 を使用し.split(String regex)て行をトークンに分割できます。すべてのセクションはコンマで区切られているため、次のコードを使用できます:はline.split(",");lineファイルから読み取ったばかりの行を示します。

関数はsplit配列を生成するので、それをトラバースして、選択した正しい配列にデータを入れることができます。

上記はあなたが必要とすることをするはずです。ただし、必要なことを行うのにも役立つJavaCSVを見ることができます。

Java CSV は、CSV およびプレーン区切りテキスト ファイルを読み書きするための、小さくて高速なオープン ソースの Java ライブラリです。

于 2012-07-27T06:49:04.370 に答える