n×n 整数数组

n-by-n integer array

问题陈述:

我想编写一个程序,从标准输入中读取一个正整数 n 并创建一个 n×n 整数数组 a[][] 使得 a[i][j] 是 (i+第 1) 行第 (j+1) 列。

当前代码:

Scanner input = new Scanner(System.in);
String inputString;
char flag = 'y';
while (flag != 'q' && flag != 'Q') {
    System.out.print("Enter a positive integer:");
    int value = input.nextInt();
    System.out.printf("Enter q to quit or any other key to quit: ");
    input.nextLine();
    inputString = input.nextLine();
    flag = inputString.charAt(0);
}

例如

如果用户输入 3,则矩阵需要为 3x3,并且具有 1 乘以 1、1 乘以 2 和 1 乘以 3 的乘积。然后对 2 和 3 执行相同的操作。

您的问题的算法描述应如下所示:

第一步:用户输入一个正整数n
第 2 步: 创建一个 n x n 矩阵
第三步:对于每个元素(i,j),矩阵在(i,j)处的值为(i+1)*(j+1)

实施:

public class Snippet {
public static void main(String[] args) {

    Scanner input = new Scanner(System.in);

    System.out.print("Enter a positive integer:");
    int n = input.nextInt();

    int[][] a = new int[n][n];

    for (int i = 0; i < a.length; i++) {
        for (int j = 0; j < a.length; j++) {
            a[i][j] = (i + 1) * (j + 1);
        }
    }

    for (int[] is : a) {
        System.out.println(Arrays.toString(is));
    }
 }
}
 public static void main(String[] args) {
    Scanner input = new Scanner(System.in);

    String inputString;
    char flag = 'y';
    int matrix[][];
    while (flag != 'q' && flag != 'Q') {
        System.out.print("Enter a positive integer:");
        int value = input.nextInt();
        System.out.printf("Enter q to quit or any other key to quit: ");
        if(value > 0){
            matrix = new int[value][value];
            displayOutput(matrix);
        }

        input.nextLine();
        inputString = input.nextLine();
        flag = inputString.charAt(0);
    }
}

private static void displayOutput(int[][] matrix) {
    for (int i = 0; i < matrix.length; i++) {

        matrix[i][0] = i+1;
    }
    for (int j = 1; j < matrix.length; j++) {
        for (int i = 0; i < matrix.length; i++) {
            matrix[i][j] = matrix[i][0]*(j+1);
        }            
    }

    for (int i = 0; i < matrix.length; i++) {
        for (int j = 0; j < matrix.length; j++) {
            System.out.print(" "+matrix[i][j]);
        }
        System.out.println("");
    }

}
Input: 3
Outputs: 1 2 3
         2 4 6
         3 6 9