2016-05-21 9 views
0

Ich habe eine Reihe bekommt:ändert Array in der Textview

int[][] a = new int [50][50]; 

Dann, ich bin schreibe sie in den Textview (Variable: Tabelle)

StringBuilder strBuild = new StringBuilder(); 
for(int ii = 0; ii <= pow(2,n); ii++){//strings of the truth table 
    for(int jj = 1; jj <= pow(2,n); jj++){//rows... 
     strBuild.append(a[ii][jj]); 
     strBuild.append(" "); 
    } 
    strBuild.append("\n"); 
} 

table.setText(strBuild.toString()); 

i nächsten Array habe (n = 2 und definiert dynamisch)

0 0 1 0 
0 0 0 0 
0 1 1 1 
1 0 1 1 
1 1 0 0 

aber ich möchte hier ein Array 2^n, 4x4 zu bekommen, aber wenn ich tun

for(int jj = 1; jj <= pow(2,n); jj++){ 

anstelle von

for(int jj = 0; jj <= pow(2,n); jj++){ 

i wird das dritte Element in der ersten Reihe verlieren.

Wie kann ich diesen Wert verschieben, um das nächste Array zu erhalten?

0 0 1 0 
0 1 0 1 
1 0 1 1 
1 1 1 0 
+0

Was passiert, wenn Sie die Bedingung "<=" (weniger oder gleich) in beiden Schleifen auf "<" (weniger) setzen? Dann werden 'ii' und' jj' im Bereich von 0..3 liegen –

Antwort

0

Wenn Sie ein 4x4 wollen, was die fünfte Zeile gibt, ist:

for(int ii = 0; ii <= pow(2,n); ii++) 

so können Sie dies ändern:

for(int ii = 0; ii < pow(2,n); ii++) 

und das wird Ihnen 4 Zeilen. Lassen Sie mich wissen, wenn Sie weitere Fragen in den Kommentaren haben.

Verwandte Themen