2012-05-25 20 views
6

Ich möchte dies dynamisch in Java tun. Ich weiß, wie man Werte in eindimensionales Array einfügt. Ich bin etwas verwirrt in zweidimensionalen Array.Wie können Werte programmgesteuert in ein zweidimensionales Array eingefügt werden?

static final String shades[][] = { 


// Shades of grey 
    { 
    "lightgrey", 
    "dimgray", 
    "sgi gray 92", 
    }, 
// Shades of blue 
    { 
    "dodgerblue 2", 
    "steelblue 2", 
    "powderblue", 
    }, 
// Shades of yellow 
    { 
    "yellow 1", 
    "gold 1", 
    "darkgoldenrod 1", 
    }, 
// Shades of red 
    { 
    "indianred 1", 
    "firebrick 1", 
    "maroon", 
    } 
}; 

Antwort

7
String[][] shades = new String[intSize][intSize]; 
// print array in rectangular form 
for (int r=0; r<shades.length; r++) { 
    for (int c=0; c<shades[r].length; c++) { 
     shades[r][c]="hello";//your value 
    } 
} 
3
String[][] shades = new String[4][3]; 
for(int i = 0; i <= 4; i++) 
    { 
     for(int y = 0; y <= 3; y++) 
     { 
     shades[i][y] = value; 
     } 
    } 

sollte diese

arbeiten
1

Sie können keine Werte in ein Array "add" als die Array-Länge unveränderlich ist. Sie können Werte an bestimmten Array-Positionen festlegen.

Wenn Sie wissen, wie man es mit eindimensionalen Arrays macht, dann wissen Sie, wie man es mit n-dimensionalen Arrays macht: Es gibt keine n-dimensionalen Arrays in Java, nur Arrays von Arrays (von Arrays ...) .

Sie können jedoch den Indexoperator für den Array-Elementzugriff verketten.

String[][] x = new String[2][]; 
x[0] = new String[1]; 
x[1] = new String[2]; 

x[0][0] = "a1"; 
    // No x[0][1] available 
x[1][0] = "b1"; 
x[1][1] = "b2"; 

Beachten Sie, dass die Dimensionen der untergeordneten Arrays nicht übereinstimmen müssen.

0

Denken Sie darüber nach Array Array.

Wenn Sie dies str [x] [y] tun, dann gibt es ein Array der Länge x, wobei jedes Element der Reihe nach ein Array der Länge y enthält. In Java ist es nicht notwendig, dass die zweite Dimension dieselbe Länge hat. So für x = i Sie haben y = m und x = j können Sie y = n

Für diese Ihre Erklärung sieht aus wie

String [] [] test = new String [4] [] ; test [0] = neuer String [3]; test [1] = neuer String [2];

etc ..

-1

this is output of this program

Scanner s=new Scanner (System.in); 
int row, elem, col; 

Systm.out.println("Enter Element to insert"); 
elem = s.nextInt(); 
System.out.println("Enter row"); 
row=s.nextInt(); 
System.out.println("Enter row"); 
col=s.nextInt(); 
for (int c=row-1; c < row; c++) 
{ 
    for (d = col-1 ; d < col ; d++) 
     array[c][d] = elem; 
} 
for(c = 0; c < size; c++) 
{ 
    for (d = 0 ; d < size ; d++) 
     System.out.print(array[c] [d] +" "); 
    System.out.println(); 
} 
+0

Willkommen, sollten Sie zu erklären, was in dieser Antwort interessant ist. Aber natürlich fügen Sie das 'elem' nur in die letzte Zelle ein, weil' int c = row -1' statt 'int c = 0' ist (dasselbe gilt für' d'). – AxelH

+0

Und woher kommt "Größe", um das "Quadrat-Array" zu schleifen? – AxelH

Verwandte Themen