java - 非常基本的Java嵌套for循环问题

标签 java loops for-loop

我很难让这段代码从 5 个空格开始并减少到 0 个空格,每行减去一个空格。

public class Prob3 {

    public static void main(String[]args) {

        for (int x=1; x<=5; x++)
        {
            for (int y=5; y>=1; y--)
            {
            System.out.print(" ");
            }
        System.out.println(x);
        }
    }
}

当前输出为(应为 5 个空格):

      5
      4
      3
      2
      1

我对迄今为止的进展感到满意,但我需要更接近这个:

        1
      2
    3
  4
5

我觉得我已经很接近了

最佳答案

将内部循环更改为:

for (int y=5; y > x; y--) 

您会注意到每行上的空格数量存在规律:

  • 第 1 行 = 4 个空格
  • 第 2 行 = 3 个空格
  • 第 3 行 = 2 个空格
  • 等等..

因此,模式是,空格数为 5 - rowNumber。在您的代码中,外部循环表示 rowNumber。内部循环应运行 5 - rowNumber 次。这就是为什么条件应该是 y > rowNumber,即 y > x

关于java - 非常基本的Java嵌套for循环问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19146653/

相关文章:

java - 如何将字符串附加到循环外的最佳值?

Python 元组数组

java - 如何将用户定义的对象添加到 LinkedList?

java - 使用 Java 将 HTML 转换为 Markdown

python - While循环中断问题(Python)

jsf-2 - 如何在primefaces的数据表中迭代Map<String,Collection>

java - Android 上停止 for 循环的按钮

java - for 循环内的打印语句导致多个输出而不是一个输出,如何在不使用 "return"的情况下解决此问题?

java - 无法在二次方程程序中找到 "java logical error"的解

java - 使用 Android 或 Java 从 MediaWiki/Wikipedia 查询多个结果