Ich habe eine char-Variable. Ich möchte herausfinden, in 2D-Char-Array hat gleiche Element zu meiner Char-Variable und wenn es ein Element, ich möchte Index-Nummer dieses Elementswie gefundenen Wert in 2d-Arrays
-2
A
Antwort
-1
Sie könnten eine Klasse erstellen, die zwei Indizes enthält. Ihre Methode gibt eine Instanz dieser Klasse zurück.
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
erhalten Sie sollten durch die 2D-Array Schleife. Der folgende Code zeigt die Lösung für das Array mit den Namen "myarray
" und char
, gespeichert in der Variablen mychar
. Die Koordinaten mychar
werden in der Konsole angezeigt.
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;
}
}
}
Zwei 'for' Schleifen und einige' if'. –
Wenn es sich um ein echtes 2D-Array handelt, erhalten Sie 2 Indexzahlen - aber Sie könnten stattdessen ein 1D-Array verwenden und verfolgen, wie lang jede Zeile/Spalte sein sollte (z. B. wie Pixel in einem Bild). – Thomas
@xenteros Ihre Lösung ist unvollständig. – Shiro