中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

JAVA 打印三角形

首先,確定我們的輸出結果是:

那么我們怎么才能做到這樣呢?

1、首先分析圖形的結構

我們可以看到,圖形共5行,那么,我們是否可以建立一個for循環(huán)語句,使其控制在5行?答案是肯定的。

for(int i = 1 ;i <= 5 ;i++ ){

}

這樣,我們就建立了一個循環(huán)5次的for循環(huán)代碼塊,為最外圈的循環(huán)。

2、然后,分析圖形是怎樣構成的,我們可以把圖形拆分為以下幾部分:/p>

我們可以把圖形拆分為這樣三個三角形。

3、建立1號空白三角形

可以看,第一行是輸出4個空格,第二行輸出3個空格,第三行輸出2個,第四行輸出1個,第五行沒有

從這個規(guī)律可以看出,是依次遞減的規(guī)律,那么如何實現(xiàn)呢?

我們可以想象從1到5,中間有四個數(shù)字;從2到5中間有3個數(shù)字,從3到5……

是不是可以利用這個原理呢?答案是當然的。那么如何實現(xiàn)?請看代碼:

for(int i = 1;i<=5 ;i++) {
    for(int j = 5; j >= i ; j--)//建立1號圖形
        System.out.print(" ");
    System.out.println();
}

第一個for語句就是剛才定義的五次循環(huán)語句

第二個for循環(huán),我們來進行解析:

首先 定義一個int類型的j變量,給j賦值為5

然后我們想,既然要縮短距離,那么每次循環(huán)j就-1,那么剛好符合我們的要求:

第一次大循環(huán) i=1,j=5, 所以符合j>=i的條件然后輸出一個空格,然后j-1,現(xiàn)在j的值為4符合j>=i,再輸出

……

一直到j=0,j>=i不符合,跳出內循環(huán)

現(xiàn)在到System.out.println(); 換行

現(xiàn)在回到外循環(huán) i++ ,i變成2,符合i<=5,進入內循環(huán)

定義j=5 , j>=i,符合,輸出一個空格,j-1

j現(xiàn)在為4 ,j>=i,符合,輸出一個空額,j-1

……

一直到j=1,j>=i,不成立,跳出內訓還,然后換行

然后i+1 然后再進入內循環(huán)……

如此循環(huán)下去 形成了一個四行的倒三角,1號圖案形成。

4、建立2號圖形,和1號圖形原理完全相同,不過正好相反

for(int i = 1 ;i<=5 ;i++){
    for(int j = 5; j >= i ; j--)//建立1號圖形
        System.out.print(" ");
    for(int j = 1; j <= i; j++)//建立2號圖形
        System.out.print("*");
    System.out.println();
}

如建立1號圖形相同,大家可以自己理解,如此2號建立

5、建立3號圖形

for(int i = 1; i <= 5; i++){
    for(int j = 5 ;i <= j; j--)//建立1號圖形
        System.out.print(" ");
    for(int j = 1; j <= i; j++)//建立2號圖形
        System.out.print("*");
    for(int j = 1; j < i; j ++)//建立3號圖形
        System.out.print("*");

}

同樣,如同1號二號相同,建立3號圖形原理相同

但是大家注意一點,3號圖形沒有在第一行輸出,所以要在第一次大循環(huán)中掐斷它,讓它在第二次大循環(huán)中輸出

所以 這次的判斷條件為 j < i 去掉了等于。

完整源碼:

class Demo{ public static void main(String[] args){ for(int i=1;i<=5;i++){ for(int j=5; i<=j; j--) System.out.print(" "); for(int j=1; j<=i; j++) System.out.print("*"); for(int j=1; j<i; j++) System.out.print("*"); System.out.println(); } } }

投稿作者郵箱:1030691530@qq.com