[英]Number Pattern Printing in Java
我是编程新手。 因此,作为练习,我尝试打印如下的数字模式
4
34
234
1234
我尝试了以下代码
public static void main(String[] args) {
// TODO Auto-generated method stub
int n =4;
for (int i = 1; i <= n; i++) {
for (int j = i; j <= n; j++) {
System.out.print(" ");
}
int num = 4;
for (int j = 1; j <= i; j++) {
System.out.print(num);
num--;
}
System.out.println("");
}
}
但它是以这种方式打印的。
4
43
432
4321
我认为,我必须在打印前减少价值。 如果我错了,请纠正我。 但是我被困在这里。 谁能帮帮我吗?
这是您想要的模式:
4
34
234
1234
当用语言描述模式时,它看起来可能像这样:
这里已经存在某种模式。 最后两行看起来非常相似。 让我们看看前两行是否可以采用相同的形式:
现在看起来不错。 下一步是将措辞更改为取决于给定的行:
我注意不要说5而不是4 + 1,这样4仍然可见。 让我们给这4个另外一个名字:
现在您应该能够将此指令转换为Java代码。
您只需要一个内部for循环。
我使用三元运算符(也称为elvis-operator,因为?:
:)来决定是打印数字还是空格:
int n = 7;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
System.out.print(j > n-i ? j : " ");
}
System.out.println();
}
它打印
7
67
567
4567
34567
234567
1234567
在这种情况下,您实际上只需要一个嵌套循环:
int n = 4;
for (int i = n; i > 0; i--) {
for (int j = 1; j <= n; j++) {
if (j < i) {
System.out.print(" ");
} else {
System.out.print(j);
}
}
System.out.println();
}
因此,从0
循环到n
并打印一个空格,或者如果内部计数器小于i
则打印数字。
输出:
4
34
234
1234
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.