Java Homework - 打印三角形图案?

时间:2012-01-13 14:46:10

标签: java loops

我正在努力完成任务。我明白这完全是我的错,但我在课堂上落后了,并且正在努力完成这项任务。

我的目标是打印以下模式:

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

使用(嵌套)for循环。

有人能告诉我如何解决这个问题吗?我已经设法打印了一个方形的星号,但我无法弄清楚如何制作一个三角形。

提前感谢您的帮助。

9 个答案:

答案 0 :(得分:7)

首先弄清楚需要打印多少行。那是你的第一个for循环。然后在每一行上,您需要打印多少个星号(假设您在线i,有多少星号在线i)?首先回答这些问题,程序应该很容易实现。

答案 1 :(得分:1)

查看以下内容。它并不完全符合您的需要,但它可以帮助您入门。

for (int x = 1; x <= 7; x++) {
        for (int y = x; y <= 7; y++) {
            System.out.print("(" + x + ", " + y + ")");
            if (y == 7) {
                System.out.print("\n");
            }
        }
    }

答案 2 :(得分:0)

好的,所以你基本上必须打印出与行号一样多的星号,对吗?

我不允许给你代码,因为这是一个家庭作业,但我可以给你伪代码。

start with variable i at 1, loop while i is less than or equal to 10, increment i
    // The line of code that you just wrote will execute once per line.
    // Now you can print out your asterisks.
    // Make another loop and execute it once per asterisk. That's i times, right?
    start with variable j at 1, loop while j is less than or equal to i, increment j
        print out an asterisk
    end loop
 end loop

答案 3 :(得分:0)

这些类型的问题需要2个循环。第一个循环用于迭代,第二个循环用于打印星星。在这里,你需要从用户那里得到输入并将其存储在变量中,假设为'n',第一个循环应该迭代到n。

for(i=1;i<=n;i++)
{for(j=1;j<=i;j++)
 { System.out.print("*");
}
System.out.println("");
}

答案 4 :(得分:0)

解决方案:

IntStream.rangeClosed(0, MAX)
            .forEach(i -> IntStream.rangeClosed(0, i)
                    .mapToObj(j -> j == i ? "*\n" : "*")
                    .forEach(System.out::print)
            );

答案 5 :(得分:-1)

这是一个大纲。

for (i = 1; i < 11; i++) {
   String toPrint = "";
   for (j = 1; j <= i; j++ {
      // create string of asterisks here
   }
   // print a line here
}

因为这是家庭作业,你应该自己做其余的事情

答案 6 :(得分:-1)

解决方案1:

for(int i=1; i< 10; ++i) {
   for (int j = 0; j<i; ++j) {
     System.out.print("*");
   }
   System.out.println("");
}

Soulution 2:

String s = "*";

for (int i = 1; i< 10; i++) {
   System.out.println(s);
   s = s + "*";
}

您的选择。

答案 7 :(得分:-1)

class Program
{
    static void Main(string[] args)
    {
        String var = "";
        String exp_Str = "";
        for (int i = 1; i < 8; i++)
        {
            for (int j = 1; j < i; j++)
            {
                if (i > j)
                {


                    var = var + j;
                    //Console.WriteLine(j+"");
                }

            }
            Console.WriteLine(var);
            var = "";

        }

        Console.ReadLine();
    }
}

答案 8 :(得分:-2)

使用for循环

for(i=0;i<10;i++){
   for(int j=0;j<i;j++)
      System.out.print("*");
   System.out.println();
}
希望有所帮助!