JAVA用for循環(huán)打印空心菱形
空心菱形如圖所示

那么我們應(yīng)該如何去寫(xiě)出來(lái)呢?這就不得不引出一個(gè)非常經(jīng)典的案例,金字塔案例,菱形像不像是兩個(gè)對(duì)稱的金字塔呢?廢話不多說(shuō)了,上思路:(僅代表個(gè)人理解,歡迎指點(diǎn))
1.首先我們要寫(xiě)出一個(gè)空心菱形,那么我們首先得把需求由繁化簡(jiǎn),把他拆分成一個(gè)一個(gè)簡(jiǎn)單的需求,
1.1那我們就先寫(xiě)半個(gè)金字塔,

是不是很眼熟的結(jié)構(gòu),沒(méi)錯(cuò)和九九乘法表類似的結(jié)構(gòu),上代碼
for(int i = 1;i <= 5;i++){ //i代表層數(shù),這個(gè)可以設(shè)置一個(gè)變量接收,隨便幾層都行,不一定非要是5
for(int j = 1;j <= i;j++){ //j代表個(gè)數(shù)
System.out.print("*");
}
System.out.print("\n");
//System.out.println(" ");這樣也行
}半個(gè)金字塔出來(lái)了,那我們接下來(lái)就寫(xiě)一個(gè)完整的空心金字塔
//輸出一個(gè)空心金字塔
//思路分析:
//1.補(bǔ)全金字塔
// * //空格數(shù)為 總層數(shù) - 1 //個(gè)數(shù)為 1 3 5 7 9 什么規(guī)律呢 就是 2 * 當(dāng)前層數(shù) - 1
// *** //空格數(shù)為 總層數(shù) - 1
// *****
// *******
//*********
//2.將金字塔鏤空
// * 第一層 1個(gè)
// * * 第二次 2個(gè)
// * *第三層 2個(gè)
// .... 第n層 2個(gè)
//*********最后一層 全部有
//大致就是這個(gè)圖形,(圖形不準(zhǔn)確,請(qǐng)自行腦補(bǔ))
for(int i = 1;i <= 5;i++){// i是層數(shù)
//打印出每層前面的空格數(shù)
for(int k = 1;k <= 5 - i;k++){
System.out.print(" ");
}
//控制每層打印的個(gè)數(shù)
for(int j = 1;j <= 2 * i - 1;j++){ //j是個(gè)數(shù)
//空心金字塔都是第一個(gè)和最后一個(gè)位置有*,最后一層則是全部輸出
if(j == 1 || j == 2 * i - 1|| i == 5){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.print("\n");
}那么菱形就已經(jīng)很簡(jiǎn)單了 我們只需要把空心金字塔最后一層的全部輸出去掉 也就是 i == 5注銷,就得到這么一個(gè)東西

菱形的工作已經(jīng)完成了大半,接下來(lái)照貓畫(huà)虎把下半部分寫(xiě)出來(lái)就可以了
for(int a = 4;a > 0;a--){
//打印空格
for(int c = 1;c <= 5 - a;c++){
System.out.print(" ");
}
for(int b = 1;b <= 2 * a -1;b++){
if( b ==1 || b == 2 * a -1){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.print("\n");
}雖然菱形的下半部分是一個(gè)倒過(guò)來(lái)的金字塔, 但是其規(guī)律并沒(méi)有發(fā)生變化,空格數(shù)依舊是總層數(shù) - 1
個(gè)數(shù)也沒(méi)有發(fā)生變化,就是順序倒過(guò)來(lái),把++改成--就好了
完整的代碼:
for(int i = 1;i <= 5; i++){
//控制前面的空格數(shù)
for(int k = 1;k <= 5 - i;k++){
System.out.print(" ");
}
//控制每行輸出的*的個(gè)數(shù)
for(int j = 1;j <= 2 * i - 1;j++){
//每行第一個(gè)和最后一個(gè)位置有*,最后一行全有
if(j == 1 || j == 2 * i - 1){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.print("\n");
}
for(int a = 4;a > 0;a--){
//打印空格
for(int c = 1;c <= 5 - a;c++){
System.out.print(" ");
}
for(int b = 1;b <= 2 * a -1;b++){
if( b ==1 || b == 2 * a -1){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.print("\n");
}到此這篇關(guān)于JAVA用for循環(huán)打印空心菱形的文章就介紹到這了,更多相關(guān)JAVA for循環(huán)輸出菱形內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一篇文章帶你入門Springboot沙箱環(huán)境支付寶支付(附源碼)
螞蟻沙箱環(huán)境 (Beta) 是協(xié)助開(kāi)發(fā)者進(jìn)行接口功能開(kāi)發(fā)及主要功能聯(lián)調(diào)的輔助環(huán)境。沙箱環(huán)境模擬了開(kāi)放平臺(tái)部分產(chǎn)品的主要功能和主要邏輯2021-06-06
Java基礎(chǔ)之Math和Random類知識(shí)總結(jié)
今天帶大家來(lái)學(xué)習(xí)java的Math和Random類,文中有非常詳細(xì)的代碼示例及介紹,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們很有幫助喲,需要的朋友可以參考下2021-05-05
SpringBoot實(shí)現(xiàn)簡(jiǎn)易支付寶網(wǎng)頁(yè)支付功能
小編最近實(shí)現(xiàn)一個(gè)功能基于springboot程序的支付寶支付demo,非常不錯(cuò)適合初學(xué)者入門學(xué)習(xí)使用,今天把SpringBoot實(shí)現(xiàn)簡(jiǎn)易支付寶網(wǎng)頁(yè)支付功能的示例代碼分享給大家,感興趣的朋友參考下吧2021-10-10
mybatis plus條件構(gòu)造器queryWrapper、updateWrapper
這篇文章主要介紹了mybatis plus條件構(gòu)造器queryWrapper、updateWrapper,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
SpringBoot防止大量請(qǐng)求攻擊的實(shí)現(xiàn)
在有些特定的時(shí)候需要加上IP訪問(wèn)時(shí)間限制,防止一個(gè)IP多次訪問(wèn)請(qǐng)求,本文主要介紹了SpringBoot防止大量請(qǐng)求攻擊的實(shí)現(xiàn),感興趣的可以了解一下2021-11-11
Spring動(dòng)態(tài)注冊(cè)多數(shù)據(jù)源的實(shí)現(xiàn)方法
這篇文章主要介紹了Spring動(dòng)態(tài)注冊(cè)多數(shù)據(jù)源的實(shí)現(xiàn)方法,小編覺(jué)的挺不錯(cuò)的,現(xiàn)分享到腳本之家平臺(tái),需要的朋友可以參考下2018-01-01
深入聊一聊springboot項(xiàng)目全局異常處理那些事兒
最近在做項(xiàng)目時(shí)需要對(duì)異常進(jìn)行全局統(tǒng)一處理,所以下面這篇文章主要給大家介紹了關(guān)于springboot項(xiàng)目全局異常處理那些事兒,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-01-01
Java中List轉(zhuǎn)換成Map的兩種實(shí)現(xiàn)方式
Java中List轉(zhuǎn)Map常用Stream API,通過(guò)collect(Collectors.toMap())實(shí)現(xiàn),需明確鍵值規(guī)則并處理重復(fù)鍵沖突,支持靈活擴(kuò)展2025-09-09
java實(shí)現(xiàn)飛機(jī)大戰(zhàn)案例詳解
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)飛機(jī)大戰(zhàn)案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03

