如何使用数字自动填充二维数组

嗨我想尝试根据用户输入自动填充二维数组。 用户将输入1个数字,此数字将设置2d数组的大小。 然后我想打印出数组的数字。 例如,如果用户输入数字4。 2d数组将是4行乘4列,并且应包含数字1到16,并打印如下。

1-2-3-4 5-6-7-8 9-10-11-12 13-14-15-16 

但我正在努力思考能够做到这一点的正确陈述。 目前我的代码只打印出一个包含*的2d数组。

谁有任何想法如何打印出数字,我真的卡住了。 我的代码如下:

 public static void main(String args[]){ Scanner input = new Scanner(System.in); System.out.println("Enter room length"); int num1 = input.nextInt(); int num2 = num1; int length = num1 * num2; System.out.println("room "+num1+"x"+num2+"="+length); int[][] grid = new int[num1][num2]; for(int row=0;row<grid.length;row++){ for(int col=0;col<grid[row].length;col++){ System.out.print("*"); } System.out.println(); } } 

读n值,

 int[][] arr = new int[n][n]; int inc=1; for(int i=0;i 

好吧,首先你必须用数字填充数组。 你可以使用double for循环和一个计数器变量,它在内部for循环的每个循环之后递增。

 int counter = 1; for(int x = 0; x < num1; x++) { for(int y = 0; y < num2; y++) { grid[x][y] = counter++; } } 

之后,您可以使用double for循环再次输出数组。

我不确定我是否理解你。 你有代码打印问题*?

如果是,那么原因就是这个

 System.out.print("*"); 

应该

 System.out.print(grid[row]); 
 public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("Enter room length"); int arraySize = input.nextInt(); System.out.println("Length: " + (arraySize*arraySize)); int[][] array = new int[arraySize][arraySize]; int count = 1; for (int i=0;i 

此代码应打印出您想要的数字。