问题描述
我想问一个问题或一个可能的帮助,关于我将如何在创建三角乘法时使我的程序编码“do-while 循环”。有没有一种可能的方法可以在不使用任何其他语句的情况下创建这样的东西?
public class Main {
static void ssbr(int n) {
int i = 1;
do{
System.out.printf("%4d",n * i);
i = i + 1;
} while(i <= 7);
System.out.println("");
}
public static void main(String[] args) {
int i = 1;
do{
ssbr(i);
i = i + 1;
} while (i <= 7);
}
}
它给出的输出:
1 2 3 4 5 6 7
2 4 6 8 10 11 12
3 6 9 12 15 18 21
4 8 12 16 20 24 30
5 10 15 20 25 30 35
6 12 18 24 30 36 42
7 14 21 28 35 42 49
我想要的输出:
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
解决方法
您可以使用以下算法来实现:
- 您必须执行
7
次,因此您可以使用应该运行7
次的循环。 - 每行以行号开始,并以等于行号的步长值运行行号 * 行号次。
下面给出的是使用 for
循环来实现这个算法,我让你使用 do-while
循环来实现它(因为它似乎是你的作业?)
public class Main {
public static void main(String[] args) {
int n = 7;
for (int row = 1; row <= n; row++) {
for (int col = row; col <= row * row; col += row) {
System.out.printf("%-4d",col);
}
System.out.println();
}
}
}
输出:
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49