2016-06-30 5 views
-2

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

+0

Zwei 'for' Schleifen und einige' if'. –

+0

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

+0

@xenteros Ihre Lösung ist unvollständig. – Shiro

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; 
     } 
    } 
}