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 < 0; j++)
if (i == j)
num[i][j] = 1;
else
num[i][j] = 0;
for (int[] a : num) {
for (int b : a)
System.out.print(b + " ");
System.out.println();
}
}
}
我想做 1 0 0 0 1 0 0 0 1 但我的答案就像是 0 0 0 0 0 0 0 0 0答案 0 :(得分:0)
看起来你的代码正在使用j
作为变量的内循环。您初始化j = 0
,然后如果j&lt; 0它将执行。但是,0 <0。 0是假的,所以它永远不会通过内循环迭代。尝试将该行更改为
for (int j = 0; j < n; j++)
我希望您能得到您想要的结果。
答案 1 :(得分:0)
您需要遍历二维数组中的所有元素,而不仅仅是第 0 个元素。请参阅修改后的 for 循环。
import java.util.Scanner;
public 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++)
if (i == j)
num[i][j] = 1;
else
num[i][j] = 0;
for (int[] a : num) {
for (int b : a)
System.out.print(b + " ");
System.out.println();
}
}
}