我写了一个类来打印一个模式:
1
2 4
3 5 7
4 6 8 10
5 7 9 11 13
我使用了这段代码:
public class pat3
{
public void method()
{
int row;
int val;
for(row=1;row<=5;row++)
{
for(val=1;val<=row;val++)
{
System.out.print(val + 2 + "\t");
}
System.out.println();
}
}
}
我使用了两个嵌套循环,外部循环控制模式中的行,内部循环控制列。用以前的模式问题交叉引用它,我的逻辑似乎没问题。
但是,当我运行这个类时,输出结果不正确:
3 4
3 4 5
3 4 5 6
3 4 5 6 7
我已经尝试更改变量并重新编写for
循环,但我的输出总是随机变化而没有相关性,所以我找不到问题的原因。有人可以帮帮我吗?
P.S。我是编码的新手,所以请不要使用智能的数学答案,我只是想对代码中的问题做一个直截了当的回答。
答案 0 :(得分:1)
答案 1 :(得分:1)
尝试将其作为for循环:
for(int row=0;row<5;row++)
{
for(int val=0;val<=row;val++)
{
System.out.print(row+ 1 + val * 2 + "\t");
}
System.out.println();
}
答案 2 :(得分:0)
public void method()
{
int row;
int val;
for(row=1;row<=5;row++)
{
for(val=0;val<row; val++)
{
System.out.print((2*val) + row);
}
System.out.println();
}
}
答案 3 :(得分:0)
将代码更改为以下代码:
public void method()
{
int row;
int val;
for(row=1;row<=5;row++)
{
for(val=1;val<=row;val++)
{
System.out.printf("%2d ", row + (val-1)*2);
}
System.out.println();
}
}
在控制台中输出如下:
1
2 4
3 5 7
4 6 8 10
5 7 9 11 13
答案 4 :(得分:0)
对代码的最小修改:
System.out.print(row + (val - 1)*2 + "\t");