2016-10-23 15 views
-2

2D配列のすべての要素をループする方法を理解しようとしています。私は2次元の長方形の文字列(someChars)を与えられています。私は四角形の 'x'の数を計算して出力するループ文を書くことが任されています。Javaでの2D配列の理解

int x; 
for (int r = 0; r < someChars.length; r++) 
for (int c = 0; c < someChars[r].length; c++) 
if(someChars.charAt(r) = "x"){ 
    x++;} 
if(someChar.charAt(c) = "x"){ 
    x++;} 
System.out.println(x); 

私は、アレイ内のすべての変数を参照する方法を考え出すのトラブルを抱えている、と私は本当に[括弧]の整数が全体のことを基準にする必要があり意義を/理解していません。

p.s.私はこれが宿題の問題であることは非常に明白だと思います。たとえ誰かが私に答えを渡したとしても、合計約700のうち一点に値する。私は簡単な答えのために採掘するよりも、それがどのように機能するかを理解することにもっと興味があります。

+0

パート1:2D配列は配列の配列なので、 'someChars'は長さを持ち、' ​​someChars'の各要素は長さも持つ配列です(したがって 'c'の括弧) 。第2部: 'someChars'は' String'ではないので、コードが無効になります。 'String.charAt'を使うことはできません。' someChars [r] [c] 'は' r'行です。列 'c' - または単一の文字。最後に '' chars''は '' '' '' ''を使わず、等号のために '='が2つ必要です(1つは代入) - == 'x''。 –

+0

大変ありがとうございます。私は一緒に置くのに困っていた。 –

答えて

0

あなたは文字の2D配列を与えられている場合は、それのように宣言されます:これは、あなたが(例えば)someChars[1][2]として特定の値を参照すること

char[][] someChars; 

。その文字が'x'かどうかを確認するには、式はsomeChars[r][c] == 'x'となります。

その他の提案:

  • はあなたの変数xCount
  • のような賢明な名前を与えることは、彼らがint xCount = 0;
  • 何であるかは明らかですので、あなたの変数を初期化for
  • インデント、次のブロックの周り{}を入れ

うまくいけばそれがあなたを始めさせるでしょう。