我的任务输出错误,无法解决

1 java for-loop

你好我有一个任务要做.输出应该是这样的:

{
0
0 1
0 2 4
0 3 6 9
0 4 8 12 16
0 5 10 15 20 25
0 6 12 18 24 30 36
0 7 14 21 28 35 42 49
0 8 16 24 32 40 48 56 64
0 9 18 27 36 45 54 63 72 81
}
Run Code Online (Sandbox Code Playgroud)

我试着这样做:这是我的代码:

public class ContnueUzOznakoMojNacin 
{
public static void main(String args[])
{
    int k=0, v=0;
    int j;
    for(int i=0;i<10;i++)
    {
        for(j=10-i;j<10;j++)
        {
            System.out.print(v+" ");
            v+=k;
        }
        System.out.println();
        v=0;
        k++;
    }
}
}
Run Code Online (Sandbox Code Playgroud)

我得到的输出是错误的,我不明白为什么.这里是:

{
0 
0 2 
0 3 6 
0 4 8 12 
0 5 10 15 20 
0 6 12 18 24 30 
0 7 14 21 28 35 42 
0 8 16 24 32 40 48 56 
0 9 18 27 36 45 54 63 72
}
Run Code Online (Sandbox Code Playgroud)

当我按照这些循环并从我的程序增加时,我找不到错误.

第一行是ok输出应为0; 但第二行,输出应为0 1; 不是0 2?我不需要你给我这个任务的代码我需要你帮我做,告诉我哪里弄错了所以我自己做.谢谢 :)

Blu*_*Ice 8

改变这一行:

for(j=10-i;j<10;j++)
Run Code Online (Sandbox Code Playgroud)

对此:

for(j=9-i;j<10;j++)
Run Code Online (Sandbox Code Playgroud)

这是一个解释:

所以i从那开始0吧?什么是i最大的?9,因为在for(int i=0;i<10;i++),i不能到达10.

让我们来看看它是如何影响的for(j=10-i;j<10;j++).如果i9(最后一行),那么j循环将只运行9一次.j将等于1,2,3,4,5,6,7,8,9.这只是9个循环.如果查看上三角形的底部,可以看到0 9 18 27 36 45 54 63 72只有9个数字.

我们想要j运行10次,正如您所看到的正确三角形的基础:0 9 18 27 36 45 54 63 72 81.我们如何做到这一点?我们通过将起始数()减一(等于),j在每个i循环上再运行一次.这就是你到达的方式10-i9-i

for(j=9-i;j<10;j++)
Run Code Online (Sandbox Code Playgroud)