我想使用for循环绘制一个带有如下星形的三角形,但我真的不知道如何做到这一点?三角形将是这样的:
*
**
***
****
*****
******
*******
********
*********
**********
等等。有人可以帮帮我吗?
public class Project1 {
public static void main (String[] args){
int c, d, e;
for (c = 1 ; c <= 8 ; c++){
for (d = 1 ; d <= c ; d++){
System.out.print ("*");
}
System.out.println("");
}
for (e = 1 ; e <= 4 ; e++){
System.out.println ("***");
}
}
}
这是我从互联网上找到的,但我不明白为什么它使用两个循环。 (我理解用于构建茎的那个。)
答案 0 :(得分:5)
public static void main(String[] args)
{
StringBuilder stars = new StringBuilder();
for(int i = 0; i <= 10; i++)
{
stars.append("*");
System.out.println(stars);
}
}
或者使用嵌套循环:(这就是练习真的试图让你做的事情)
public static void main(String[] args)
{
for(int i = 0; i <= 10; i++)
{
for(int j=0; j<=i; j++)
{
System.out.print("*");
}
System.out.print("\n");
}
}
答案 1 :(得分:2)
你需要两个for循环;一个用于打印该行,另一个用于打印一行中的字符。当前行的编号可用于打印一定数量的星。
使用System.out.print("*")
进行打印而不添加新行,在第二个循环结束时执行System.out.println()
我将循环的实现作为练习,这里是语法:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html
答案 2 :(得分:1)
只是评论你的网络代码......
for
循环应始终从0
开始,除非您有特定原因从1
开始。从0
开始练习它是一个很好的习惯,因为它在使用java arrays
时会对你有帮助。for
循环彼此...外部循环只是控制三角形中有多少行(在这种情况下为8
)。内循环正在写入该行的星数。这不是实现结果的最佳方式,但它可以正常工作。for
循环写出星星看起来像树干。希望这有助于您理解。
答案 3 :(得分:0)
这可以为您提供问题的解决方案。
class Seven
{
public static void main(String arg[])
{
for(int i=0;i<=8;i++)
{
for(int j=8;j>=i;j--)
{
System.out.print(" ");
}
for(int k=1;k<=(2*i+1);k++)
{
System.out.print("*");
}
System.out.println("\n");
}
}
}
答案 4 :(得分:0)
import java.util.Scanner;
public class apple{
public static void main(String[] args){
int c,r;
for(c=1; c<=10; c++){
for(r=1; r<=c; r++){
System.out.print("*");
}
System.out.println();
}
}
答案 5 :(得分:0)
public class StarA {
public static void main(String[] args) {
for( int i = 1; i <= 5; i++ )
{
for( int j = 0; j < i; j++ )
{
System.out.print("*");
}
System.out.println();
}
}
}
答案 6 :(得分:0)
import java.util.*;
class StarForloop
{
public static void main(String arg[])
{
Scanner ob=new Scanner(System.in); //getting input
System.out.println("Enter any NO");
int count=ob.nextInt();
String ab="*"; // initialize string variable
for(int i=1; i<=count; i++)
{
ab=ab+"*"; // here you add one another string
System.out.println(ab);
}
}
}
答案 7 :(得分:0)
for(int aj =5;aj>=1;aj--){
for (int a1 = 0; a1 < aj; a1++) {
System.out.print(" ");
}
for(int a2 = 5;a2>=aj;a2--) {
System.out.print("$");
}
for(int a2 = 5;a2>aj;a2--) {
System.out.print("$");
}
System.out.println();
答案 8 :(得分:0)
您只需要两个循环即可实现第三个循环,第三个循环无用,第一个外部循环用于行,内部循环用于打印“ *”。外部循环在这里用于更改行数并保持所需数量行。
public static void tri()
{
for(int i=0;i<8;i++)
{
for(int j=0;j<=i;j++)
{
System.out.print("*");
}
System.out.println();
}
}