2016-06-30 21 views
-2

私はchar変数を持っています。私は2次元のchar配列で私のchar変数と等しい要素を持っていることを知りたいです。要素が1つある場合、その要素のインデックス番号を取得したい2d配列で一致した値を見つける方法

+0

2つの 'for'ループといくつかの' if'。 –

+0

本物の2D配列の場合は、2つのインデックス番号を取得しますが、代わりに1D配列を使用して各行/列の長さを把握することができます。 – Thomas

+0

@xenterosあなたの解決策は不完全です。 – Shiro

答えて

-1

2つのインデックスを保持するクラスを作成できます。メソッドはこのクラスのインスタンスを返します。

char array[][] = new char[10][10];  

class Tuple //helper class 
{ 
    public int i, j; 
    Tuple(int i, int j) 
    { 
     this.i = i; 
     this.j = j; 
    } 
} 
public Tuple matches(char c) //return indices (Tuple-instance) or null if not found 
{ 

    for(int i = 0; i < array.length; i++) 
    { 
     for(int j = 0; j < array[0].length; j++) 
     { 
      if(array[i][j] == c) 
      { 
       return new Tuple(i, j); 
      } 

     } 
    } 
    return null; 
} 
2

2D配列をループする必要があります。以下のコードは、mycharという変数に格納された "myarray"とcharという配列の解を示しています。 mycharの座標がコンソールに表示されます。

for (int i = 0; i < myarray.length; i++) { 
    for (int j = 0; j < myarray[i].length; j++) { 
     if (myarray[i][j] == mychar){ 
      System.out.println(String.valueOf(i) + " " + String.valueOf(j)); 
      break; 
     } 
    } 
}