我尝试用 while 和数组来解决这个问题,但我不能让它只用偶数从 1 绘制到 100。
问题
public static void main(String[] args) {
int matriz1[][] = new int[5][5];
int i = 0;
int j = 0;
while (i < matriz1.length) {
matriz1[i][j]= i*matriz1.length;
System.out.print(matriz1[i][j]+" ");
while (j < matriz1[i].length) {
matriz1[i][j] = j+1;
System.out.print(matriz1[i][j]+" ");
}
j++;
}
i++;
System.out.println();
}
尝试解决问题
您使用的增量仅用于补偿数组以索引 0 开头的事实。您缺少的是乘以 2 以仅使用偶数。
结果:
有关如何声明数组的示例,请参见此处。
根据评论添加
对于奇数,您只需更改第二维的计算:
使用三元组,您可以在之前声明一个布尔值,然后在相同的代码中进行区分:
看到它是一个数字序列(2,4,6,8,...100),我们需要一个变量
k
,以便它在两个周期的每次迭代中增加。我给你留下你自己的代码,解决和评论。
我建议您
for
在已经知道何时完成时使用,在您的情况下,从一开始就知道它i
应该迭代 10 次并且j
应该迭代 5 次,相反,当您不知道它什么时候会完成时完成后,您应该使用它while
检查我对这个主题的回答,for vs while - LOOP 用 for 解决:嗨,我会给你一个解决方案来生成具有广义数组大小的对数组。
我将功能分为 2 种方法,以便很好地定义代码的每个部分的作用。
如果您想将所有内容放在主要内容中,它将是这样的