我很难使用for或while循环创建三角形样式结果。它应该打印:
- 2
- 2 4
- 2 4 6
- 2 4 6 8
- 2 4 6 8 10 ....
这是我到目前为止,有什么建议吗?非常感谢。
public static void main(String[] args) {
for (int row = 2; row < 10; row+=2) {
for (int col = 1; col < row ; col++ )
System.out.print(col * row + "\t");
System.out.println();
}
}
答案 0 :(得分:0)
String SPACE =" ";
int numberOfCols = 1;
while (numberOfCols < 5) {
int colCounter = 1;
for( int i = 2; i<= 10; i+=2) {
System.out.print(i + SPACE);
if(colCounter ++ > numberOfCols) break;
}
System.out.println();
numberOfCols++;
}
答案 1 :(得分:0)
要打印右对齐的三角形,您需要增加每次迭代的宽度,并在您的情况下仅打印偶数。
不需要乘以行和列,您只需在col
中打印偶数试试这个
private static void printPattern(int rows) {
for (int row = 2; row <= 2 * rows; row += 2) {
for (int col = 2; col <= row; col += 2) {
System.out.print(col + " ");
}
System.out.println();
}
}
输出:rows = 10
2
2 4
2 4 6
2 4 6 8
2 4 6 8 10
2 4 6 8 10 12
2 4 6 8 10 12 14
2 4 6 8 10 12 14 16
2 4 6 8 10 12 14 16 18
2 4 6 8 10 12 14 16 18 20
答案 2 :(得分:0)
我认为你没有干你的程序。其他明智的你会明白你的问题。
对于第一个外循环row
存储2.在内循环中col
可以获得值1,因为循环的退出条件是col
&lt; row
。因此,当col
达到值2时,它将退出循环,因此仅打印2
。
现在对于外循环row
的第二次迭代存储4.在内循环中col
以值1存储开始。因此,第一次打印将是4 X 1
,即4.然后col
获得值2因此打印将是4X2
,即8.依此类推。这不是你想要的。所以重新考虑你的问题。