gpt4 book ai didi

java - 扫描仪阵列 (n x n)

转载 作者:行者123 更新时间:2023-12-02 11:18:23 25 4
gpt4 key购买 nike

我的代码:

import java.util.Scanner;
class Test1 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int[][] num = new int[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++)
System.out.print(num[i][j] + " ");
System.out.println();
}
}

答案出来了

0 0 0 
0 0 0
0 0 0

但我想做

1 0 0
0 1 0
0 0 1

最佳答案

doc of Java 中所述,一个 int 被初始化为 0。所以当你只声明你的数组而不设置特定值时,它只包含 0。这就是为什么你的输出是

0 0 0
0 0 0
0 0 0

您需要首先初始化数组,将值 1 放入所需的位置。在您的情况下,您想要创建一个单位矩阵,因此将 1 放在行和列具有相同索引的位置(在对角线中)。这应该看起来像这样:

for (int i = 0; i < n; i++)
num[i][i] = 1;

在打印数组之前放置此初始化,因此完整的代码将如下所示:

Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int[][] num = new int[n][n];
for (int i = 0; i < n; i++)
num[i][i] = 1;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++)
System.out.print(num[i][j] + " ");
System.out.println();

}

关于java - 扫描仪阵列 (n x n),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50103063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com