【发布时间】:2017-12-29 10:29:06
【问题描述】:
所以我有这个任务要做: (显示图案)编写一个显示图案的方法如下:
方法头是: public static void displayPattern(int n)
基本上,我了解“如何”进行练习,甚至自己编写代码并获得了 99% 的正确代码。 我知道我需要执行 2 个循环,一个打印空格并且每次下降 1,另一个打印空格后的数字并倾斜 1。
这是我的方法:
public static void printPattern(int n) {
int m =1;
int k=1;
while (m-1-1 <=n) {
int numberOfWhiteSpaces = n -1;
for (int i = numberOfWhiteSpaces; i >= 0; i--) {
System.out.print(" ");
}
for (k=m; k>0; k--) {
System.out.print( k + "");
}
System.out.println();
m++;
n--;
}
}
假设我打电话
printPattern(3);
我唯一的问题是输出是这样的:
1
21
321
数字之间没有空格,是的,我试图改变这个:
System.out.print( k + "");
到这里:
System.out.print( k + " ");
结果? :
我在这个问题上已经连续 2 个小时了,无法正确解决。 可能需要一些帮助,谢谢大家。
【问题讨论】:
-
错字。
System.out.print( k + "");应该是System.out.print( k + " ");- 不过有更好的方法。 -
@ElliottFrisch 已经尝试过了,看看它给我的输出。另外,如果你能提示我任何其他方法,我很乐意听到。
-
看起来您没有在左侧打印足够的空白区域。你会如何解决这个问题?
-
如果您在第二个打印中添加一个空格,您还需要在第一个打印中添加一个空格。加分:
n超过 1 位数会怎样? -
@ajb 你的问题,我猜对了,非常感谢!
标签: java