2017-08-02 2 views
-2
char grid[][] = new char[size][size]; 
for(int j = 0; j < size; j++) 
{ 
    for(int k = 0; k < size; k++) 
    { 
     grid[j][k] = in.next().charAt(0); 
    } 
} 

Ich bekomme einen Fehler in der in.next(). CharAt (0) Zeile. Ich lese in einem Raster, das aus Zeichen besteht. Ich verstehe nicht wirklich, wie man in Zeichen liest, jedoch fand ich das auf einem anderen Thread. Gibt es einen Grund, warum ich beim Lesen in einem Gitter nicht so lesen kann? Um meine Eingabe zu visualisieren, ist wie folgt:Fehler beim Lesen in Char in Java

asdfv 
sdsaf 
asfdf 
asfaf 
asfdf 

Auch Größe ist 5; Vielen Dank im Voraus.

+0

Welcher Art ist ein Objekt? –

+2

"Ich erhalte einen Fehler" - Was ist der Fehler? –

Antwort

-1

Sie verwenden nur das erste Zeichen jeder Ihrer Eingabezeilen.

Zum Beispiel können die ersten in.next() liest die „asdfv“ String, aber Sie nur das erste Zeichen dieser String zu Ihrem Array zuweisen und den Rest verwerfen.

char grid[][] = new char[size][size]; 
for(int j = 0; j < size; j++) 
{ 
    grid[j] = in.nextLine().toCharArray(); 
} 

diese Weise grid[j] mit den Zeichen einer vollständigen Eingabezeile initialisiert werden:

Sie können den Code ändern.

Verwandte Themen