91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JAVA中怎么用for循環打印空心菱形

發布時間:2022-02-07 15:58:30 來源:億速云 閱讀:213 作者:iii 欄目:開發技術

這篇“JAVA中怎么用for循環打印空心菱形”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“JAVA中怎么用for循環打印空心菱形”文章吧。

空心菱形如圖所示

JAVA中怎么用for循環打印空心菱形

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

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

1.1那我們就先寫半個金字塔,

JAVA中怎么用for循環打印空心菱形

是不是很眼熟的結構,沒錯和九九乘法表類似的結構,上代碼

for(int i = 1;i <= 5;i++){ //i代表層數,這個可以設置一個變量接收,隨便幾層都行,不一定非要是5
			for(int j = 1;j <= i;j++){ //j代表個數
				System.out.print("*");
			}
			System.out.print("\n");
            //System.out.println(" ");這樣也行
		}

 半個金字塔出來了,那我們接下來就寫一個完整的空心金字塔

//輸出一個空心金字塔
		//思路分析:	
		//1.補全金字塔
		//    *   //空格數為 總層數 - 1 //個數為 1 3 5 7 9 什么規律呢 就是 2 * 當前層數 - 1
	    //   ***  //空格數為 總層數 - 1
	    //  *****
	    // *******
	    //*********	  
	    //2.將金字塔鏤空
        //   *    第一層 1個
        //  *  *  第二次 2個
        // *     *第三層 2個
        //  ....  第n層  2個
        //*********最后一層 全部有
        //大致就是這個圖形,(圖形不準確,請自行腦補)
		for(int i = 1;i <= 5;i++){// i是層數
			//打印出每層前面的空格數
			for(int k = 1;k <= 5 - i;k++){
				System.out.print(" ");
			}
			//控制每層打印的個數
			for(int j = 1;j <= 2 * i - 1;j++){ //j是個數
				//空心金字塔都是第一個和最后一個位置有*,最后一層則是全部輸出
				if(j == 1 || j == 2 * i - 1|| i == 5){ 
					System.out.print("*");
				}else{
					System.out.print(" ");
				}
			}
			System.out.print("\n");
		}

 那么菱形就已經很簡單了 我們只需要把空心金字塔最后一層的全部輸出去掉 也就是 i == 5注銷,就得到這么一個東西

JAVA中怎么用for循環打印空心菱形

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

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");
		}

雖然菱形的下半部分是一個倒過來的金字塔, 但是其規律并沒有發生變化,空格數依舊是總層數 - 1

個數也沒有發生變化,就是順序倒過來,把++改成--就好了

完整的代碼:

for(int i = 1;i <= 5; i++){
			//控制前面的空格數
			for(int k = 1;k <= 5 - i;k++){
				System.out.print(" ");
			}
			//控制每行輸出的*的個數
			for(int j = 1;j <= 2 * i - 1;j++){
				//每行第一個和最后一個位置有*,最后一行全有
				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");
		}

以上就是關于“JAVA中怎么用for循環打印空心菱形”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

文水县| 金塔县| 舒城县| 轮台县| 邯郸市| 乌苏市| 疏勒县| 潢川县| 宜阳县| 丰台区| 璧山县| 东乌珠穆沁旗| 太谷县| 长沙县| 宁蒗| 崇明县| 耒阳市| 改则县| 察哈| 石台县| 商城县| 始兴县| 南部县| 乐至县| 瑞丽市| 雅江县| 新兴县| 凤阳县| 武邑县| 泗阳县| 蕲春县| 闵行区| 巩留县| 新田县| 井冈山市| 高青县| 隆德县| 大新县| 方山县| 兰州市| 当雄县|