私はchar変数を持っています。私は2次元のchar配列で私のchar変数と等しい要素を持っていることを知りたいです。要素が1つある場合、その要素のインデックス番号を取得したい2d配列で一致した値を見つける方法
-2
A
答えて
-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;
}
}
}
2つの 'for'ループといくつかの' if'。 –
本物の2D配列の場合は、2つのインデックス番号を取得しますが、代わりに1D配列を使用して各行/列の長さを把握することができます。 – Thomas
@xenterosあなたの解決策は不完全です。 – Shiro