一、玩法1
*
***
*****
*******
*********
(1)首先,我们可以发现:每行星星的个数是(2*行数-1),每行的空格数就是最大行数减去第n行(最大4行,第4行没有空格,最大4行,第三行1个空格)
(2)for循环
话不多说,直接上代码
package ace;
public class xingxing {
/**@小团团
* 画星星
*/
public static void drawStar() {
// 我要画5行的星星
int row = 5;
for (int i = 1; i <= 5; i++) {
// 空格数等于最大行数 - 当前行数
for (int j = 1; j <= row - i; j++) {
System.out.print(" ");
}
// 星星数等于(当前行数*2-1)
for (int j = 1; j <= i * 2 - 1; j++) {
System.out.print("*");
}
// 每画一行就换一次行
System.out.println();
}
}
public static void main(String[] args) {
drawStar();
}
}
运行结果如下:
*
***
*****
*******
*********
二、玩法2
/*
需求: 在控制台上打印一个正立的直角三角形 。
*
**
***
****
*****
多行多列的图形。
行数 5行
列数: 会发生变化 的.
分析列数:
i = 0 ; i<5; j=0 ; j<=i 1个星号
i = 1 ; i<5 ;j=0 ; j<=1 2个星号
i = 2 ; i<5; j=0 ; j<=2 3个星号
.....
*/
程序如下:
class Demo13
{
public static void main(String[] args)
{
for(int i = 0 ; i< 5 ; i++){
for(int j = 0 ; j<=i ; j++){ //控制列数
System.out.print("*");
}
//换行
System.out.println();
}
}
}
三、玩法3
/*
需求: 打印一个倒立的直角三角形。
*****
****
***
**
*
5行
列数会发生变化
j<(5-i)
i= 0 ; i<5; j=0 ; j<5 ; 五个星号
i = 1; i<5; j=0 ; j<4; 四个星号
i = 2; i<5; j=0 ; j<3; 三个星号
*/
程序如下:
class Demo14
{
public static void main(String[] args)
{
for(int i = 0 ; i<5; i++){
for (int j = 0 ; j<(5-i) ;j++ ){
System.out.print("*");
}
//换行
System.out.println();
}
}
}