2016-05-13 5 views
0

Ich habe einige zweidimensionale Array.Array in TextView

int a[i][j] 

Ich möchte es anzeigen. Ich versuche:

  String aa = ""; 
      aa+=(a[i][j] + "\n"); 
      table.append(aa); 

Aber es funktioniert nicht - es gibt nur eine "0". Wie kann ich das erreichen?

+0

Ist es vollständige Code? Hast du Loops? Was ist "Tisch"? –

+0

@SergeyGlotov 'TextView-Tabelle;' Keine Schleifen dort. –

+0

@SergeyGlotov Array gefüllt mit "0" und "1". –

Antwort

1
int a[][] = new int[][] { 
    { 0, 1, 2, 3, 4, 3, 1, 1, 7, 9 }, 
    { 4, 5, 6, 4, 8, 6, 1, 3, 6, 7 }, 
    { 7, 1, 5, 7, 8, 9, 6, 3, 5, 8 }, 
    { 8, 2, 3, 9, 8, 7, 6, 6, 4, 9 }, 
    { 9, 8, 5, 1, 2, 3, 4, 5, 3, 7 } 
    }; 
String aa = ""; 

    for(int i=0; i<5; i++) 
    { 
     for(int j=0; j<10; j++) 
     { 
     aa.concat(String.valueOf(a[i][j])); 
     } 
    } 

    (your text view) .setText(aa); 
+0

Die Länge der Elemente eines zweidimensionalen Arrays in Java muss nicht gleich sein. Hardcoding der oberen Grenze von J-Schleife kann möglicherweise falsch sein. –

2
int[][] array = new int[][]{ 
     {1, 0, 0}, 
     {0, 1, 0}, 
     {0, 0, 1} 
}; 

StringBuilder builder = new StringBuilder(); 
for (int[] arr : array) 
    builder.append(Arrays.toString(arr)).append("\n"); 

String tableText = builder.toString(); 

tableText ist string:

"[1, 0, 0] 
[0, 1, 0] 
[0, 0, 1]" 

So Sie TextView namens table vorausgesetzt haben, alles, was Sie zu tun haben, wird diese Zeichenfolge als TextView Set ‚s Text:

table.setText(tableText); 
+0

Ich habe mein Array in der Textansicht, aber es gibt Hunderte von Zahlen Kann ich Array auf eine andere Weise deklarieren? 'int [] [] a = neuer int [100] [100];' –

+0

ich kann nicht codieren 'int [] [] array = neuer int [] [] { {1, 0, 0}, {0, 1, 0}, {0, 0, 1} }; ', weil dies Wahrheitstabelle ist und ich es im Code erstelle. –

+0

@AlexanderVasilchuk Sie können Array erstellen, wie Sie wollen. Es ist nur ein Beispiel. –

1

Sie brauchen Schleife, offensichtlich :) Sie erhalten nur ein Element von Array jetzt von einem [i] [j].

So etwas wie

String aa; 
for (int i = 0; i < a.length; i++) { 
    for (int j = 0; j < a[i].length; j++) { 
     aa += a[i][j]; 
    } 
} 
table.setText(aa); 

Und irgendwo Zeilenvorschub ("\ n") hinzufügen, wenn Sie es brauchen

+0

@ TeWus Version ist tatsächlich besser :) Ich wollte nur Grundlagen zeigen. –

2

Wenn Sie einen Tisch zu machen versuchen:

int a[][] = new int[][]{{0,1,2,3,4}, 
         {2,3,4,5,6}, 
         {2,3,4,5,6}}; 

StringBuilder strBuild = new StringBuilder(); 
for(int i = 0; i < a[0].length; i++){ 
    for(int j = 0; j < a.length; j++){ 
     strBuild.append(a[i][j]); 
     strBuild.append(" "); 
    } 
    strBuild.append("\n"); 
} 

yourTextVeiw.setText(strBuild.toString()); 

Wenn Sie versuchen, alle Zahlen in eine Zeile zu setzen:

Wenn Sie versuchen, sie alle in einer Spalte zu machen:

int a[][] = new int[][]{{0,1,2,3,4}, 
         {2,3,4,5,6}, 
         {2,3,4,5,6}}; 

StringBuilder strBuild = new StringBuilder(); 
for(int i = 0; i < a[0].length; i++){ 
    for(int j = 0; j < a.length; j++){ 
     strBuild.append(a[i][j]); 
     strBuild.append("\n"); 
    } 
} 
yourTextView.setText(strBuild.toString()); 

und eine Reihe alle zertrümmert zusammen:

int a[][] = new int[][]{{0,1,2,3,4}, 
         {2,3,4,5,6}, 
         {2,3,4,5,6}}; 

StringBuilder strBuild = new StringBuilder(); 
for(int i = 0; i < a[0].length; i++){ 
    for(int j = 0; j < a.length; j++){ 
     strBuild.append(a[i][j]); 
    } 
} 
yourTextView.setText(strBuild.toString());