Java 打印数量不断增加的偶数行
我正在尝试打印以下内容:Java 打印数量不断增加的偶数行,java,numbers,Java,Numbers,我正在尝试打印以下内容: 2 2 4 2 4 6 ..etc 2 4 6 8 10 12 ...etc 我编写的代码(如下)打印了以下内容: 2 2 4 2 4 6 ..etc 2 4 6 8 10 12 ...etc 谁能看出我哪里做错了?n变量来自main方法,我不包括它 public static void printEvenTable(int n) { int i; int j; int k = 0; for (i = 1; i <= n;
2
2 4
2 4 6 ..etc
2
4 6
8 10 12 ...etc
我编写的代码(如下)打印了以下内容:
2
2 4
2 4 6 ..etc
2
4 6
8 10 12 ...etc
谁能看出我哪里做错了?n变量来自main方法,我不包括它
public static void printEvenTable(int n) {
int i;
int j;
int k = 0;
for (i = 1; i <= n; i++) {
for (j = 0; j < i; j++)
System.out.print(" " + (k += 2));
System.out.println(" ");
}
}
公共静态void可打印事件(int n){
int i;
int j;
int k=0;
对于(i=1;i这里,在第一次执行内环后,内环在每个步骤中将变量k
增加2
,从初始值0
变为2
。在外环的第二次迭代中k
开始为2
。在k+=2
之后,k
变为4
,因此第二行输出从4
开始。这就是为什么我们需要在每个内部循环之前将k重新初始化为0
public static void printEvenTable(int n) {
int i;
int j;
int k = 0;
for (i = 1; i <= n; i++) {
k = 0;
for (j = 0; j < i; j++)
System.out.print(" " + (k += 2));
System.out.println(" ");
}
}
公共静态void可打印事件(int n){
int i;
int j;
int k=0;
对于(i=1;i您需要防止变量k
使用其旧值,方法是在第二个for
循环之后重新分配0。将k=0;
放置在第二个for
循环之前会导致重复的重新分配,因为它在循环之前就已经被分配了。确保程序优化。如果e使用一个好的编辑器,如果将它放在第二个for
循环之前,它会向您显示一些警告
for (i = 1; i <= n; i++) {
for (j = 0; j < i; j++) {
System.out.print(" " + (k += 2));
}
k=0;
System.out.println(" ");
}
for(i=1;ik
的初始化目前不在您的循环范围内。这已经成功了,谢谢。为了我自己的理解,您能解释一下为什么需要更改吗?@JEarls我已经解释过了。请检查编辑。如果有帮助,请随意接受它作为答案。