2012-05-25 32 views
6

Tôi muốn làm điều này tự động trong java. Tôi biết cách chèn các giá trị trong mảng một chiều. Tôi hơi bối rối trong mảng hai chiều.Làm cách nào để chèn các giá trị trong mảng hai chiều theo lập trình?

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", 
    } 
}; 

Trả lời

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; 
     } 
    } 

này nên làm việc

1

Bạn không thể "thêm" giá trị cho một mảng như độ dài mảng là không thay đổi. Bạn có thể đặt giá trị tại các vị trí mảng cụ thể.

Nếu bạn biết cách làm điều đó với mảng một chiều thì bạn biết cách thực hiện nó với mảng n chiều: Không có mảng n-chiều trong Java, chỉ mảng của mảng (của mảng ...) .

Nhưng bạn có thể kết nối toán tử chỉ mục để truy cập phần tử mảng.

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"; 

Lưu ý rằng kích thước của các mảng con không cần phải khớp.

0

Hãy nghĩ về nó như mảng mảng.

Nếu bạn thực hiện str [x] [y] này, thì có mảng chiều dài x trong đó mỗi phần tử lần lượt chứa mảng chiều dài y. Trong java nó không cần thiết cho chiều thứ hai để có cùng độ dài. Vì vậy, cho x = i bạn có thể có y = m và x = j bạn có thể có y = n

Đối với điều này tuyên bố của bạn trông như

String [] [] test = new String [4] [] ; kiểm tra [0] = chuỗi mới [3]; kiểm tra [1] = chuỗi mới [2];

vv ..

-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

Chào mừng bạn, bạn nên giải thích những gì là thú vị trong câu trả lời này. Tuy nhiên, bạn sẽ chỉ chèn 'elem' vào ô cuối cùng vì' int c = row -1' thay vì 'int c = 0' (tương tự cho' d'). – AxelH

+0

Và 'kích thước' đến từ đâu để lặp trên" mảng vuông "của bạn? – AxelH

Các vấn đề liên quan