首页 > 解决方案 > 打印多维数组行元素的替代方法

问题描述

有没有另一种方法可以在 Java 中打印多维数组行元素?我在如何打印多维数组元素行时遇到了麻烦,因为要求完全不同。

例如,而不是:

1 2
3 4
5 6

输出将是:

Contents of row 1 : 1 2
Contents of row 2 : 3 4
Contents of row 3 : 5 6  

这是我尝试做的代码

"Contents of row " +(i+1)+ " : " +arr[i][j]+"

但它并不完全符合我的目标。输出变为:

Contents of row 1 : 1  Contents of row 1 : 2
Contents of row 2 : 3  Contents of row 2 : 4
import java.util.Scanner;

public class TestH13 {
    public static void main(String args[]) {
        // initialize here.
        int row, col, i, j;
        int[][] arr = new int[100][100];
        Scanner input = new Scanner(System.in);

        // enter row and column for array.
        System.out.print("How many rows: ");
        row = input.nextInt();
        System.out.print("How many columns: ");
        col = input.nextInt();

        // enter array elements.
        for (i = 0; i < row; i++) {
            for (j = 0; j < col; j++) {
                System.out.print("Enter element a[" + i + "][" + j + "] : ");
                arr[i][j] = input.nextInt();
            }
        }

        // print the array elements
        System.out.println("Elements in the array");
        for (i = 0; i < row; i++) {
            for (j = 0; j < col; j++) {
                System.out.print(
                        "Contents of row " + (i + 1) + " : " + arr[i][j] + "  ");
            }
            System.out.println();
        }
    }
}

标签: javaarraysmultidimensional-array

解决方案


首先,我在获得行数和列数后更改了 2d 数组初始化的位置,其次,我将打印部分分为 2 部分,第一部分位于行的入口处,第二部分位于每列中:

int row, col, i, j;
Scanner input = new Scanner(System.in);

// enter row and column for array.
System.out.print("How many rows: ");
row = input.nextInt();
System.out.print("How many columns: ");
col = input.nextInt();

int[][] arr = new int[row][col];

// enter array elements.
for (i = 0; i < row; i++) {
    for (j = 0; j < col; j++) {
        System.out.print("Enter element a[" + i + "][" + j + "] : ");
        arr[i][j] = input.nextInt();
    }
}

// print the array elements
System.out.println("Elements in the array");
for (i = 0; i < row; i++) {
    System.out.print("Contents of row " + (i + 1) + " : ");
    for (j = 0; j < col; j++) {
        System.out.print(arr[i][j] + "  ");
    }
    System.out.println();
}

推荐阅读