8

これをJavaで動的に行いたい。一次元配列に値を挿入する方法を知っています。私は2次元配列で少し混乱しています。

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

6 に答える 6

13
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
     }
 }
于 2012-05-25T09:15:26.693 に答える
6

以下のコードを試してください。

String[][] shades = new String[4][3];
for(int i = 0; i < 4; i++)
{
  for(int y = 0; y < 3; y++)
  {
    shades[i][y] = value;
  }
}
于 2012-05-25T09:15:55.617 に答える
2

配列の長さは不変であるため、配列に値を「追加」することはできません。特定の配列位置に値を設定できます。

1次元配列でそれを行う方法を知っているなら、n次元配列でそれを行う方法を知っています。Javaにはn次元配列はなく、(配列の...)配列の配列だけです。

ただし、配列要素にアクセスするためにインデックス演算子をチェーンすることはできます。

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

子配列の次元は一致する必要がないことに注意してください。

于 2012-05-25T09:20:55.727 に答える
0

配列の配列と考えてください。

このstr[x][y]を実行すると、長さxの配列があり、各要素には長さyの配列が含まれます。Javaでは、2番目の次元が同じ長さである必要はありません。したがって、x = iの場合、y = mを使用でき、x = jの場合、y=nを使用できます。

このため、あなたの宣言は次のようになります

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

等..

于 2012-05-25T09:21:06.790 に答える
-1

これはこのプログラムの出力です

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();
}
于 2016-12-12T06:20:38.883 に答える