java - 使用 for 循环的模式

标签 java nested nested-loops

我应该根据用户输入的数字创建此模式。用户输入的数字对应于行数和每行中的星号。

    * 
   ** 
  *** 
 **** 
*****

我被告知只能使用嵌套 for 循环,不能使用 printf()。这只是我正在处理的代码的一部分。

for (int row = 1; row <= size; row++) {
            for (int column = 1; column <row; column++) {
                System.out.print(" ");
            }
            for (int column = 1; column <= row; column++) {
            System.out.print("*");
        }
        System.out.println();

    }

我似乎无法做出如上所示的输出。相反,我得到了这个:

*
 **
  ***
   ****
    *****

有人可以给我一个提示,告诉我我应该做什么吗?我花了2个小时还是没搞明白。

最佳答案

对于每一行,您应该输出最多 size 个字符;因此,如果 size = 5,在第三行,如果输出三颗星,则需要 size-row 空格 => 5 - 3 = 2。

在代码中:

for (int row = 1; row <= size; row++) {
    for (int column = 1; column <= size-row; column++) {
        System.out.print(" ");
    }
    for (int column = 1; column <= row; column++) {
        System.out.print("*");
    }
    System.out.println();
}

示例:http://ideone.com/hC5HDQ

关于java - 使用 for 循环的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19461672/

相关文章:

java - 蓝牙 InputStream.read() 不会永远返回数据和 block

Python - 从嵌套循环中只打印一次

javascript - 删除嵌套数组中不匹配的对象

java - ParentClass.NestedClass 是否 nc= new NestedClass();隐式实例化父类实例?

c# - 用 C# 创建像扫雷这样的模式的问题

amazon-web-services - 如何在 terraform 资源中的 zipmap 和列表上创建嵌套 for 循环

java - 如何使用 printf -Java 将二维数组的所有元素排列成完美的表格

java - Tomcat/Linux 上的 UTF-8 和 Servlet

java - 有没有更好的方法可以使用 Stream 进行编写?

java - 无效输入仍会更新总数