2017-04-22 3 views
1

txtファイル(それを区切るスペースを持たない文字/数字のセット)からトークンを取る方法を割り当てようとしています。アレイ。"tokens"を配列に追加する

私の配列はtxtファイルにはちょうど最初の行は5つのトークン(「10」、「20」を持っているでしょう明確にするために、この

10 tewnty 30.5 star-fish -5 
1 two 3 
4 five 6 seven 
jello 9 hike 5 
10 9 8 7 6 5 4 3 2 1 

のように読み込み、この

private String[] arrayOfTokens; 

のように設定されています「30.5」「スターフィッシュ」「-5」)、2つ目は3(「1」「2」「3」)

それはこれを言う... "最初のテキスト行は5つのトークン[0]、[0] [1]、[0] [2]、[0] [3]、[0] [4]に格納される。 2番目のテキスト行は、3つのトークンが[1] [0]、[1] [1]、[1] [2]に格納される結果になります。それが何であるかを確かめてください。

私は単にいくつかのことをオンラインで検索しましたが、私が見つけたものは、配列全体にtxtファイルを配置しました。私はトークンを追加しようとしています。正しいトラックに?

+0

2次元配列、より正確には配列の配列が必要です。割り当てテキストに明示的に「正確に1つの配列が必要です」と表示されている場合は、割り当ての定式化が間違っており、与えられたように、不安定な配列が必要なため、基本は[this oracle tutorial](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html)を参照してください。 – Turing85

+1

oh geez。私はそれが何であるかについていくつかの研究をしましょう。 –

+0

hmmm "2D配列の各テキスト行にあるトークンを格納します。この2D配列は文字列オブジェクトを格納する必要があります。"それは私がそれがただ一つの配列だと信じさせてくれる –

答えて

-1

ギザギザの配列は、配列を要素とする配列ですが、寸法とサイズが異なる可能性があります。

int numberOfLineOfTheFile; /* put the number of line of your file here */ 
String[][] tokens = new String[numberOfLineOfTheFile][]; 
String[] arrayOfTokens; 

try (BufferedReader br = new BufferedReader(new FileReader(file))) { 
    String line; 
    int i = 0; 
    while ((line = br.readLine()) != null) { 
     arrayOfTokens = line.split(" "); 
     tokens[i++] = arrayOfTokens; 
    } 
} 
+1

コードのみの回答はお勧めできません。あなたの答えにいくつかの説明を加えてください。また、OPはコピー可能な回答を求めるのではなく、正しい方向に進むための説明やヒントを求めていました。編集:いいえ、私はあなたの答えをdownvoteしませんでした。 – Turing85