日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java黑皮书课后题第5章:**5.17(显示金字塔)编写程序,提示用户输入一个在1到15之间的整数,然后显示一个金字塔形状的图案

發布時間:2024/7/23 java 39 豆豆

**5.17(顯示金字塔)編寫程序,提示用戶輸入一個在1到15之間的整數,然后顯示一個金字塔形狀的圖案

  • 題目
    • 題目描述
    • 運行示例
    • 破題
  • 代碼

題目

題目描述

**5.17(顯示金字塔)編寫程序,提示用戶輸入一個在1到15之間的整數,然后顯示一個金字塔形狀的圖案

運行示例

Enter the number of lines: 7

破題

  • 以上圖為例,如果在數字1這列右邊(第二個數字2所在列左側)進行縱向切割先不看右側部分
  • 我們把數字和跟在數字后面的空格當做一個整體,需要打印lines行
  • 第1行有1個非空元素有6個空元素,第2行有2個非空元素有5個空元素……第n行有n個非空元素有(lines-n)個空元素
  • (+右側部分)所以每行都為:(lines-n)個空元素+(2*n-1)個元素
  • 中間(2*n-1)個元素:從n開始到1再到n結束
  • 即:第n行左側空白部分有(2 * (lines - n))個空格;中間(2*n-1)個元素:從n開始到1再到n結束
  • 代碼

    import java.util.Scanner;public class Test5_17 {public static void main(String[] args) {// 獲取輸入Scanner input = new Scanner(System.in);System.out.println("Enter the number of lines: ");int lines = input.nextInt();// 輸出for (int n = 1; n <= lines;n++){ // n表示第n行,一共lines行// 前半部分:(lines-n)個空元素if(lines != n){for (int a = 1; a <= (lines - n); a++)System.out.print(" ");}// 中間(2*n-1)個元素part1:從n開始到1for (int b = n; b > 0 ; b--)System.out.printf("%d ",b);;// part2:從1到nif(n >= 2) {for (int c = 2; c <= n; c++)System.out.printf("%d ", c);;}// 換行System.out.println();}input.close();} }

    總結

    以上是生活随笔為你收集整理的Java黑皮书课后题第5章:**5.17(显示金字塔)编写程序,提示用户输入一个在1到15之间的整数,然后显示一个金字塔形状的图案的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。