我是java的新手。我正在尝试写一个二维数组,写出一张彩票(6个整数)10次
int[][] lottery = new int[6][10];
for (int i=0; i < lottery.length; i++)
for (int j=0; j < lottery[0].length; j++)
lottery[i][j] = (int)(50.0 * Math.random());
for (int i=0; i < lottery.length; i++)
for (int j=0; j < lottery[0].length; j++)
{
/*if i < lottery.length
System.out.print(lottery[i][j] + " ");
else
System.out.println(lottery[i][j]);*/
}
如何将其写成10行6个整数
23 12 31 49 3 17
9 1 22 13 36 50
.
.
.
答案 0 :(得分:3)
你的阵列倒退了。如果您希望能够使用嵌套的for循环输出10行6个数字,则需要将数组设为int lottery[][] = new int[10][6];
然后输出它,你只需要做:
for (int i=0; i < lottery.length; i++){
for (int j=0; j < lottery[i].length; j++){
System.out.print(lottery[i][j]+"");
if(j < lottery[i].length -1){
System.out.print(" ");
}
}
System.out.print("\n");
}
对System.out.print的调用将打印没有换行符的文本,因此您可以继续追加到同一行。
答案 1 :(得分:0)
Java(如C),在Row-major order中存储多维数组。根据您的心态,这可能看起来很自然,但只记得数组是[row][col]
引用的,而不是[col][row]
。
您的数组int[][] lottery = new int[6][10];
是6行,每行10列。根据您的描述,我认为您需要10行或6个col或int[][] lottery = new int[10][6];
然后打印出来:
for (int i=0; i < lottery.length; i++)
{
for (int j=0; j < lottery[0].length; j++)
{
if (j < (lottery[0].length+1)
{
System.out.print(lottery[i][j] + " ");
}
else
{
System.out.println(lottery[i][j]);
}
}
}
答案 2 :(得分:0)
10行6个整数:
int[][] lottery = new int[10][6];
格式化打印:
for(int row=0; row<nums.length; row++) {
for(int col=0; col<nums[row].length; col++) {
System.out.printf("%2d", nums[row][col]);
}
System.out.print("\n");
}