2017-08-02 81 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); 
    } 
} 

我在in.next()。charAt(0)行中收到錯誤。我正努力閱讀由字符組成的網格。我真的不明白如何閱讀字符,但我發現在另一個線程。在網格中閱讀時,有沒有這樣的字符讀取的理由?想象我的輸入如下:在java中char中讀取錯誤

asdfv 
sdsaf 
asfdf 
asfaf 
asfdf 

也大小爲5;先謝謝你。

+0

什麼類型的對象在? –

+2

「我收到一個錯誤」 - 那是什麼錯誤? –

回答

-1

您只使用每個輸入行的第一個字符。

例如,第一個in.next()將讀取「asdfv」String,但您只將該String的第一個字符分配給您的數組,並丟棄其餘數字。

您可以將代碼更改爲:

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

這樣grid[j]將一個完整的輸入行的字符進行初始化。