Java Homework – 打印三角形图案?

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

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

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

使用(嵌套)for循环。

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

在此先感谢您的帮助。

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

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

 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"); } } } 

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

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

 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 

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

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

java8解决方案:

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

这是一个大纲。

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

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

解决方案1:

 for(int i=1; i< 10; ++i) { for (int j = 0; j 

洗脱2:

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

你的选择。

 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(); } } 

使用for循环

 for(i=0;i<10;i++){ for(int j=0;j 

希望有所帮助!