Java利用for循環(huán)輸出空心三角形、空心菱形和空心矩形的代碼
空心三角形
空心三角形輸出需要用到判斷語(yǔ)句,判斷每行的空格與星號(hào)的輸出,下面寫出了完整語(yǔ)句,及相關(guān)語(yǔ)句的詳細(xì)注釋??招牧庑瓮瑯宇愃?/p>
package com.zhebie.test; public class KongTraingle { public static void main(String[] args) { int n=5; //n表示輸出空心三角形行數(shù),這里以5行為例 for(int i=1;i<=n;i++) { for(int j=1;j<=n-i;j++) { //控制每行最前面的空格 System.out.print(" "); } for (int k = 1; k <= 2*i-1; k++) { //控制總的星號(hào)和空格 if(i==1||i==n) { /* 控制第一行的與最后一行的星號(hào) * 當(dāng)i等于n時(shí),每次循環(huán)都只會(huì)走這一句 * 所以會(huì)打印2*n-1個(gè)星號(hào) */ System.out.print("*"); }else if(k==1||k==2*i-1) { //控制第二行到n-1行的星號(hào)的輸出 System.out.print("*"); }else { //控制第二行到n-1行的空格的輸出 System.out.print(" "); } } System.out.println(); //每行輸出完畢后進(jìn)行換行操作 } } }
空心菱形
空心菱形的上半部分與空心三角形完全一樣,但是最后一行不能打印星號(hào)。
它的下半部分只需要控制上半部分行數(shù)減一,判斷部分也會(huì)做相應(yīng)的調(diào)整,具體下方代碼已做詳細(xì)說(shuō)明
package com.zhebie.test; public class KongTraingle { public static void main(String[] args) { int n=5; //這里輸出菱形的上半部分 for(int i=1;i<=n;i++) { for(int j=1;j<=n-i;j++) { //控制每行最前面的空格 System.out.print(" "); } for (int k = 1; k <= 2*i-1; k++) { //控制總的星號(hào)和空格 if(i==1) { /* 控制第一行的與最后一行的星號(hào) * 當(dāng)i等于n時(shí),每次循環(huán)都只會(huì)走這一句 * 所以會(huì)打印2*n-1個(gè)星號(hào) */ System.out.print("*"); }else if(k==1||k==2*i-1) { //控制第二行到n-1行的星號(hào)的輸出 System.out.print("*"); }else { //控制第二行到n-1行的空格的輸出 System.out.print(" "); } } System.out.println(); //每行輸出完畢后進(jìn)行換行操作 } //這里輸出菱形的下半部分 for(int i=1;i<n;i++) { //控制四行,所以不能使用小于等于號(hào) for(int j=1;j<=i;j++) { //控制每行最前面的空格 System.out.print(" "); } for (int k = 1; k <= 2*(n-i)-1; k++) { //控制總的星號(hào)和空格 if(k==1||k==2*(n-i)-1) { //控制第一個(gè)星號(hào)和最后一個(gè)星號(hào) System.out.print("*"); }else { //控制中間空心部分 System.out.print(" "); } } System.out.println(); //每行輸出完畢后進(jìn)行換行操作 } } }
空心矩形
空心矩形相對(duì)于空心三角形和空心菱形更簡(jiǎn)單
package com.zhebie.test; public class KongRectangle { public static void main(String[] args) { int n = 5; for (int i = 1; i <=n; i++) { //控制輸出行數(shù),由于行與行之間有空格效果,所以打印效果為矩形 for (int j = 1; j <=n; j++) { if(i==1||i==n) { //控制第一行與最后一行的星號(hào) System.out.print("*"); } else if(j==1||j==n) { //控制第二行到倒數(shù)第二行星號(hào) System.out.print("*"); }else{ //控制第二行到倒數(shù)第二行空格 System.out.print(" "); } } System.out.println(); //每輸出完一行進(jìn)行換行操作 } } }
輸出這些空心圖形,主要方式就是在for循環(huán)中做判斷輸出
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
Java substring方法實(shí)現(xiàn)原理解析
這篇文章主要介紹了Java substring方法實(shí)現(xiàn)原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05Java中對(duì)List去重 Stream去重的解決方法
這篇文章主要介紹了Java中對(duì)List去重, Stream去重的問(wèn)題解答,文中給大家介紹了Java中List集合去除重復(fù)數(shù)據(jù)的方法,需要的朋友可以參考下2018-04-04springSecurity之如何添加自定義過(guò)濾器
這篇文章主要介紹了springSecurity之如何添加自定義過(guò)濾器的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08Java8如何構(gòu)建一個(gè)Stream示例詳解
Java 8 是迄今為止在語(yǔ)義上改動(dòng)上最大的一個(gè)平臺(tái)。下面這篇文章主要給大家介紹了關(guān)于Java8如何構(gòu)建一個(gè)Stream的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04SpringBoot下載文件遇到文件損壞等問(wèn)題解決方案
調(diào)用接口下載spring?boot工程的resources目錄下的excel模板文件,非常常見(jiàn)的一個(gè)文件下載功能,但是卻容易遇到很多坑,下面總結(jié)記錄下2023-10-10Java實(shí)現(xiàn)解析并生成xml原理實(shí)例詳解
這篇文章主要介紹了Java實(shí)現(xiàn)解析并生成xml原理實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06