java - 如何使用嵌套循环先向上再向下计数?

标签 java loops nested-loops

我无法弄清楚如何使用嵌套循环先向上计数,然后向下计数。目前,我的输出是:

2
33
444
5555
66666

当我希望它像这样输出时:

2
33
444
33
2

我不知道如何解决这个问题。我一直在研究这个问题,但似乎不知道如何改变事情以使其发挥作用。

这是我当前产生第一个输出的代码:

最佳答案

此输出有两个有趣的属性。对于每一行 i 我们可以这样说:

  1. 每行的字符数为 itime - i 之间的最小值。
  2. 要打印的字符是该行中的字符数 + 1。

如果你把它们放在一起:

int lines = 3;
int times = lines * 2;
String output = "";
for(int i = 1; i < times; i++)
{
    int numChar = Math.min(i, times - i);
    int toPrint = numChar + 1;
    for(int k = 1; k < toPrint; k++) {
        output += toPrint;
    }

    output += "\n";
}
System.out.println(output);

关于java - 如何使用嵌套循环先向上再向下计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53856472/

相关文章:

嵌套 If 的 C 代码 For 循环;模数和 sqrt 问题

java - getColumnName 无法正常工作

python - 迭代列表中每个项目的函数

actionscript-3 - 如何无缝循环FLV

javascript - 为每个步骤应用按钮,或延迟 javascript 递归

java - 需要帮助嵌套 for 循环来添加 java 中表中的所有行和列

java - 将View类对象作为参数传递给按钮调用的方法(View View )

java - 在 Java 32 位和 Java 64 位之间切换

java - 在 Java3d 中旋转查看平台

ruby - 按作者分组图书订单