例如这2个例子:
public class for1
{
public static void main(String [] args)
{
int i, stars;
for(stars=1; stars<=9; stars=stars+2)\\写*的宽度
{
for(i=1; i<=stars; i++)不知道写的是什么,是高?但是不知道为什么i<=stars?呢
System.out.print('*');
System.out.println();
}
}
}例2:
for(int i=1;i<=5;i++)写的是高度
{
for(int j=0;j<(5-i)*2+1;j++) \\“”的个数
System.out.print(" ");
for(int j=0;j<4*i-3;j++)
System.out.print("*");\\“*”的个数
System.out.println();
}
}
}
这2个例子先写的各不一样呀
public class for1
{
public static void main(String [] args)
{
int i, stars;
for(stars=1; stars<=9; stars=stars+2)\\写*的宽度
{
for(i=1; i<=stars; i++)不知道写的是什么,是高?但是不知道为什么i<=stars?呢
System.out.print('*');
System.out.println();
}
}
}例2:
for(int i=1;i<=5;i++)写的是高度
{
for(int j=0;j<(5-i)*2+1;j++) \\“”的个数
System.out.print(" ");
for(int j=0;j<4*i-3;j++)
System.out.print("*");\\“*”的个数
System.out.println();
}
}
}
这2个例子先写的各不一样呀
一般你是怎么画的?先从左到右,再从上到下是不是?
所以,外面的for loop 是高,里面的for loop是宽。
如果你看程序看不懂出来的output是什么,因为你水平有限,既然有限,就不要嫌麻烦,抄一下程序,跑一跑看看不就知道了?
而第二个是等腰三角形,他却先确定的是高度。为什么呢? 我试着画直角三角形先决定它的高度,结果出来的是方形,呵呵,见笑了,我是菜鸟
for(stars=1; stars<=9; stars=stars+2)
这里的stars虽然是*的个数,但因为*的个数是逐行+2的,所以他用stars=stars+2,这样确定的是这个循环要执行的次数,也就是*的行数。
for(i=1; i<=stars; i++)才是真正画*的宽度即个数的
例1改成
int lines = 5;
for (int i = 0; i < lines; i++) {
for (int j = 0; j < 2 * i + 1; j++)
System.out.print('*');
System.out.println();
}
看的明白些?