2016-05-02 11 views
1

私は2D配列を持っています。以下は私の入力です文字リストに値を追加し、次の値がnullの場合に追加を中止する方法

APPLE.CHIK

P.B. ESCAPE.OTHER

上記入力の各々

文字を表し、 '' NULL文字を表します。値は2次元配列です。値をリストに追加し、次の値が '。'の場合は追加を続けて停止します。 。

予想される出力:

APPLE CHIKはESCAPE

実際の出力その他:あなたが見ることができるように

APPLCHIESCAPOTHE

、 "APPLE" から文字 'E' 「CHIK」の「K」、「ESCAPE」の「E」、「OTHER」の「R」は条件に合格しないためリストに追加されません

私も以下のコードを試み

  if (((j + 1) < box[i].length) && (box[i][j+1]!= null)) 
      { 

       ans.add(box[i][j].getSolution()); 

      } 

私は、次のコードを試みた

、あった

 if (((j + 1) < box[i].length) && (box[i][j]!= null)) 
      { 

       ans.add(box[i][j].getSolution()); 

      } 

私はこれを試み、出力

APPLECHIC PB ESCAPEOTHER

B私は、文字「P」と「B」が後ろに来る文字を持たないので追加されることは望ましくありません。

コードでは、 'ans'は文字リストです。私は、次のボックスがnullでないかどうかをチェックしており、値を文字リストに追加します。しかし、 'APPLE'は次の文字がヌル値であるため、ループ内で文字 'E'に到達すると条件が失敗し、文字 'E'がリストに追加されません。しかし、私のゲームロジックに影響を及ぼすので、 "IF NEXT VALUE IS NULL"の状態を見逃してはいけません。

ので、私は、

反復2次元アレイは、文字リストに値を追加して、値が文字リストに追加されているので、次の値が

nullである場合、停止、以下を達成することが必要私は意味のある単語としてそれを示すために再び文字列をグループ化する方法を知らない。だから、文字列配列にフィルタリングされた値を追加することは可能ですか?

注:ここではそのパズルゲームと入力がグリッドに「ACROSS手がかり」です

+0

「CHIK」を「CHIC」に変換し、「P」、Null、「B」を削除し、「空」を「スペース」に変換するロジックは何ですか? – Blip

+0

そのタイプミス。そのクロスワードとヌルは、グリッド内の黒いボックスを表します。 @Blip – Anusha

+0

''によって何を意味していますか? NULL文字 'を表す? '\ u0000'または' null'参照によって表される文字? 'box [] []'はどんな型ですか? – SubOptimal

答えて

0

問題(あなたの最初のアプローチでは)あなたがnullが続いていないだけで文字を追加することです。最後の文字(例:APPL E)は追加されません。

1文字を追加したくない場合(例:P.nullより前のcharcatersの数が1より大きいかどうか最初にチェックする必要があります。

nullが見つかるまで、すべての文字をループしてansに追加します。

関連する問題