有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何创建带有嵌套循环的半菱形形状?

目前,我的程序正在输出:

         p
        r r
       o o o
      g g g g
     r r r r r
    a a a a a a
   m m m m m m m

我想让它输出这个:

         pp
        r  r
       o    o
      g      g
     r        r
    a          a
   m            m

我不确定该不该这么做。我已经研究了很长一段时间,似乎不知道如何首先让它在开头有一个双“p”,然后我不确定如何在这些字母之间创建空格,就像真正的输出看起来一样。请帮忙

以下是我目前的代码:

String output = "";
    String str = "program";
    int length = str.length();
    for (int i=0 ; i<length; i++)
    {
        for (int k=length-1; k>i; k--)
        {
            System.out.print(" ");
        }
        for (int j=0; j<=i; j++)
        {
            System.out.print(" ");
        System.out.print(str.charAt(i));
        }
        System.out.println();
    }

谢谢!


共 (1) 个答案

  1. # 1 楼答案

    在内部循环中,有两个问题:

    for (int j=0; j<=i; j++)
    {
        System.out.print(" ");
        System.out.print(str.charAt(i));
    }
    

    您没有打印足够的空间(应该是j < i * 2),并且不希望在循环的每个迭代中打印str.charAt(i)。仅在以下时间之前和之后:

    String output = "";
    String str = "program";
    int length = str.length();
    for (int i=0 ; i<length; i++)
    {
        for (int k=length-1; k>i; k )
        {
            System.out.print(" ");
        }
        System.out.print(str.charAt(i));
        for (int j=0; j< i*2; j++)
        {
            System.out.print(" ");        
        }
        System.out.print(str.charAt(i));
        System.out.println();
    }
    

    输出:

          pp
         r  r
        o    o
       g      g
      r        r
     a          a
    m            m