欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2022年01月29日 09:05:45   作者:qq_58661548  
大家好,本篇文章主要講的是JAVA用for循環(huán)打印空心菱形,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下

空心菱形如圖所示

那么我們應(yīng)該如何去寫出來呢?這就不得不引出一個(gè)非常經(jīng)典的案例,金字塔案例,菱形像不像是兩個(gè)對稱的金字塔呢?廢話不多說了,上思路:(僅代表個(gè)人理解,歡迎指點(diǎn))

1.首先我們要寫出一個(gè)空心菱形,那么我們首先得把需求由繁化簡,把他拆分成一個(gè)一個(gè)簡單的需求,

1.1那我們就先寫半個(gè)金字塔,

是不是很眼熟的結(jié)構(gòu),沒錯(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è)金字塔出來了,那我們接下來就寫一個(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)確,請自行腦補(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)很簡單了 我們只需要把空心金字塔最后一層的全部輸出去掉 也就是 i == 5注銷,就得到這么一個(gè)東西

菱形的工作已經(jīng)完成了大半,接下來照貓畫虎把下半部分寫出來就可以了

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ī)律并沒有發(fā)生變化,空格數(shù)依舊是總層數(shù) - 1

個(gè)數(shù)也沒有發(fā)生變化,就是順序倒過來,把++改成--就好了

完整的代碼:

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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一篇文章帶你入門Springboot沙箱環(huán)境支付寶支付(附源碼)

    一篇文章帶你入門Springboot沙箱環(huán)境支付寶支付(附源碼)

    螞蟻沙箱環(huán)境 (Beta) 是協(xié)助開發(fā)者進(jìn)行接口功能開發(fā)及主要功能聯(lián)調(diào)的輔助環(huán)境。沙箱環(huán)境模擬了開放平臺部分產(chǎn)品的主要功能和主要邏輯
    2021-06-06
  • Java基礎(chǔ)之Math和Random類知識總結(jié)

    Java基礎(chǔ)之Math和Random類知識總結(jié)

    今天帶大家來學(xué)習(xí)java的Math和Random類,文中有非常詳細(xì)的代碼示例及介紹,對正在學(xué)習(xí)java基礎(chǔ)的小伙伴們很有幫助喲,需要的朋友可以參考下
    2021-05-05
  • SpringBoot實(shí)現(xiàn)簡易支付寶網(wǎng)頁支付功能

    SpringBoot實(shí)現(xiàn)簡易支付寶網(wǎng)頁支付功能

    小編最近實(shí)現(xiàn)一個(gè)功能基于springboot程序的支付寶支付demo,非常不錯(cuò)適合初學(xué)者入門學(xué)習(xí)使用,今天把SpringBoot實(shí)現(xiàn)簡易支付寶網(wǎng)頁支付功能的示例代碼分享給大家,感興趣的朋友參考下吧
    2021-10-10
  • mybatis plus條件構(gòu)造器queryWrapper、updateWrapper

    mybatis plus條件構(gòu)造器queryWrapper、updateWrapper

    這篇文章主要介紹了mybatis plus條件構(gòu)造器queryWrapper、updateWrapper,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • SpringBoot防止大量請求攻擊的實(shí)現(xiàn)

    SpringBoot防止大量請求攻擊的實(shí)現(xiàn)

    在有些特定的時(shí)候需要加上IP訪問時(shí)間限制,防止一個(gè)IP多次訪問請求,本文主要介紹了SpringBoot防止大量請求攻擊的實(shí)現(xiàn),感興趣的可以了解一下
    2021-11-11
  • Java中JWT的使用的詳細(xì)教程

    Java中JWT的使用的詳細(xì)教程

    JWT的本質(zhì)就是一個(gè)字符串,它是將用戶信息保存到一個(gè)Json字符串中,然后進(jìn)行編碼后得到一個(gè)JWT token,并且這個(gè)JWT token帶有簽名信息,接收后可以校驗(yàn)是否被篡改,所以可以用于在各方之間安全地將信息作為Json對象傳輸,本文介紹了Java中JWT的使用,需要的朋友可以參考下
    2023-02-02
  • Spring動態(tài)注冊多數(shù)據(jù)源的實(shí)現(xiàn)方法

    Spring動態(tài)注冊多數(shù)據(jù)源的實(shí)現(xiàn)方法

    這篇文章主要介紹了Spring動態(tài)注冊多數(shù)據(jù)源的實(shí)現(xiàn)方法,小編覺的挺不錯(cuò)的,現(xiàn)分享到腳本之家平臺,需要的朋友可以參考下
    2018-01-01
  • 深入聊一聊springboot項(xiàng)目全局異常處理那些事兒

    深入聊一聊springboot項(xiàng)目全局異常處理那些事兒

    最近在做項(xiàng)目時(shí)需要對異常進(jìn)行全局統(tǒng)一處理,所以下面這篇文章主要給大家介紹了關(guān)于springboot項(xiàng)目全局異常處理那些事兒,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • Java中List轉(zhuǎn)換成Map的兩種實(shí)現(xiàn)方式

    Java中List轉(zhuǎn)換成Map的兩種實(shí)現(xiàn)方式

    Java中List轉(zhuǎn)Map常用Stream API,通過collect(Collectors.toMap())實(shí)現(xiàn),需明確鍵值規(guī)則并處理重復(fù)鍵沖突,支持靈活擴(kuò)展
    2025-09-09
  • java實(shí)現(xiàn)飛機(jī)大戰(zhàn)案例詳解

    java實(shí)現(xiàn)飛機(jī)大戰(zhàn)案例詳解

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)飛機(jī)大戰(zhàn)案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-03-03

最新評論