2017-04-21 1 views
0

Ich habe ein 2D-Array, und ich will es zB in String konvertierenConvert int [] [] zu String

Ich möchte int[][] p-String konvertieren und ich verwende toString aber scheitern.

int [][] p = new int[9][9]; 
for(int i = 0;i<9;i++) { 
    for(int j = 0;j<9;j++){ 
     p[i][j] = 1; 
    } 
} 

String str=""; 
for(int i = 0; i< 9; i++) { 
    for(int j = 0; j< 9; j++) 
    { 
     str+=p[i][j].toString +" "; 
    } 
} 
+3

'Arrays.deepToString (p);' –

+3

'Arrays.deepToString (p)'. –

+2

@EliottFrisch jinx. Fast genau im selben Moment. –

Antwort

8

Ihr Code nicht kompilieren, weil:

  1. Sie versuchen, eine Methode auf einem primitiven aufzurufen;
  2. Sie fehlen Klammern bei diesem Methodenaufruf.

Dieses:

str+=p[i][j].toString +" "; 

sollte

str+=Integer.toString(p[i][j]) +" "; 

sein Oder einfacher:

str+=p[i][j] +" "; 

Wenn du gehst, Strings in Schleifen zu bauen, sollten Sie Verkettung vermeiden und verwenden Sie stattdessen StringBuilder:

StringBuilder sb = new StringBuilder(); 
for(int i = 0; i< 9; i++) { 
    for(int j = 0; j< 9; j++) 
    { 
     sb.append(p[i][j]); 
     sb.append(" "); 
    } 
    // You maybe want sb.append("\n") here, if you want it on separate lines. 
}  
String str = sb.toString(); 

Natürlich, desto einfache Art und Weise in der Regel einen 2D-Array in eine Zeichenfolge zu konvertieren verwendet:

String str = Arrays.deepToString(p); 

Aber dieser Wunsch in das Format, das Sie möglicherweise nicht.

+0

Ehrfürchtig. Habe eine Verbesserung. – Bathsheba

+0

@Bathsheba aber dann war es zu kurz. Ich habe es versucht. –

+0

Ich habe es geschafft. Vielleicht weil ich sehr reich bin. – Bathsheba