你好我有一个任务要做.输出应该是这样的:
{
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?我不需要你给我这个任务的代码我需要你帮我做,告诉我哪里弄错了所以我自己做.谢谢 :)
改变这一行:
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++).如果i是9(最后一行),那么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)
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |