我正在做一个嵌套循环问题,我想知道如何在数字达到某个数字后开始减少。我尝试过的东西在控制台中启动了无限循环。以下是所需输出的示例。
1
222
33333
4444444
555555555
4444444
33333
222
1
这是我的代码:
public class DisplayPattern {
public static void main(String[] args) {
int odd = 1;
int numbOfSpaces = 4;
for (int i = 1; i <= 9; i++) {
for (int j = numbOfSpaces; j >= 1; j--) {
System.out.print(" ");
}
for (int j = 1; j <= odd; j++) {
System.out.print(i);
}
System.out.println();
if(i < 5) {
odd = odd + 2;
numbOfSpaces = numbOfSpaces - 1;
}
else {
odd = odd -2;
numbOfSpaces = numbOfSpaces + 1;
}
}
}
}
以下是我得到的输出:
1
222
33333
4444444
555555555
6666666
77777
888
9
答案 0 :(得分:0)
使用代码(意味着最少量的mod)执行此操作的最简单方法是添加变量NumberToPrint = 1;在其他声明的变量旁边,而不是打印我打印NumberToPrint。 接下来,您必须递增和递减数字
if(i < 5) {
NumberToPrint++;
//the other stuff still goes here
...
}
else {
NumberToPrint--;
//the other stuff still goes here
...
话虽如此,这不是正确的方法。试着想出一种方法来使这个通用和参数化所有内容,包括要去的最大数量。了解如何修复代码以使用具有2位数或3位数的数字。