1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢(xún)
      選擇下列產(chǎn)品馬上在線(xiàn)溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問(wèn)題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
      java打印出菱形圖案實(shí)例詳解

      java打印出菱形圖案實(shí)例詳解

      愛(ài)輝網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)自2013年創(chuàng)立以來(lái)到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

      第一步:首先對(duì)圖像進(jìn)行解析

      想要打印該圖形必須要進(jìn)行多層循環(huán)嵌套,分兩個(gè)部分進(jìn)行打印。

      第一部分為上半部分前四行,他們是遞增的關(guān)系,后半部分后三行為遞減關(guān)系,由此可以得出我們需要寫(xiě)兩個(gè)打的循環(huán)。并且由于“*”位置的關(guān)系,我們必須帶入空格同時(shí)打印。所以每個(gè)部分需要兩個(gè)循環(huán)控制,即兩個(gè)大循環(huán)每個(gè)里面嵌套兩個(gè)小循環(huán)總計(jì)四個(gè)循環(huán)。

      第二部:對(duì)數(shù)字進(jìn)行分析

      在分析之前,我們必須明白外層循環(huán)控制行數(shù),內(nèi)層循環(huán)控制列數(shù),因此我們需要分析他的行和列。

      示例代碼如下:

      class ForForTest {
        public static void main(String[] args) {
           
      /*
      輸出如下圖形:  行數(shù)i:  空格數(shù)j:  “*”數(shù)目z:
         *       1     3      1
        ***      2     2      3
        *****      3     1      5
       *******     4     0      7
        *****      1     1      5   6
        ***      2     2      3   5
         *       3     3      1   4
       */
          for (int i = 1;i <= 4;i++){
            for (int j = 1;j <= 4 - i;j++) {
              System.out.print(" ");
            }
            for (int z = 1;z <= i*2-1;z++){
              System.out.print("*");
            }
            System.out.println();
          }
          for (int i = 1;i <= 3;i++){
            for (int j = 1;j <= i;j++){
              System.out.print(" ");
            }
            int y = 3;
            for (int z = 5;z >= 2*i-1;z--){
              System.out.print("*");
            }
            System.out.println();
          }
        }
      }

      實(shí)例補(bǔ)充:

      import java.util.Scanner;
      import java.util.regex.Matcher;
      public class test01 {
      private static int i;
      private String ch;
      public static void main(String[] args) {
          runTest();
          }
      private void printBlank(int blank){//打空格
          for(int i=blank;i>=1;i--){
              System.out.print(" ");
          }
      }
          private void printStar( int sum,String ch){ //打圖形
              for(int i=sum;i>=1;i--){
                  System.out.print(ch);
              }
          }
          private void printTab(){ //打回車(chē)
              System.out.println();
          }
          private void run(int level,String ch){//綜合打
              if(ch.length()==1){
                  for(i=1;i<=(level+1)/2;i++){
                      if(i==1){
                          printBlank((level+1)/2-i);
                          printStar(1,ch);
                          printTab();
                      }else{
                          printBlank((level+1)/2-i);
                          printStar(1,ch);
                          printBlank(((level+1)/2+i-1)-((level+1)/2-i)-2); //總元素為 層數(shù)+i-1,再減去打印的空格和*號(hào)數(shù)量.
                          printStar(1,ch);
                          printTab();
                      }
                  } for(i=(level+1)/2-1;i>=1;i--){
                      if(i==1){
                          printBlank((level+1)/2-i);
                          printStar(1,ch);
                          printTab();
                      }else{
                          printBlank((level+1)/2-i);
                          printStar(1,ch);
                          printBlank((level+1)/2+i-1-((level+1)/2-i)-2);
                          printStar(1,ch);
                          printTab();
                      }
                  }
              }else{
                  for(i=1;i<=(level+1)/2;i++){
                      if(i==1){
                          printBlank((level+1)/2-i+ch.length()/2);
                          printStar(1,ch);
                          printTab();
                      }else{
                          printBlank((level+1)/2-i);
                          printStar(1,ch);
                          printBlank(((level+1)/2+i-1)-((level+1)/2-i)-2); //總元素為 層數(shù)+i-1,再減去打印的空格和*號(hào)數(shù)量.
                          printStar(1,ch);
                          printTab();
                      }
                  } for(i=(level+1)/2-1;i>=1;i--){
                      if(i==1){
                          printBlank((level+1)/2-i+ch.length()/2);
                          printStar(1,ch);
                          printTab();
                      }else{
                          printBlank((level+1)/2-i);
                          printStar(1,ch);
                          printBlank((level+1)/2+i-1-((level+1)/2-i)-2);
                          printStar(1,ch);
                          printTab();
                      }
                  }
              }
              }
          public static void runTest() { //判斷條件
              Scanner s = new Scanner(System.in);
              try{
                  System.out.println("請(qǐng)輸入要打印的層數(shù),只能輸入大于等于3的奇數(shù) :" );
                  int level = s.nextInt();
                  String str = String.valueOf(level);
                  if(str.matches("[1-9]\\d*")&&Integer.parseInt(str)%2!=0&&Integer.parseInt(str)!=1){
                      System.out.println("請(qǐng)輸入要打印的形狀:" );
                      String ch = s.next();
                      try{
                          if(ch.matches("[^\u4e00-\u9fa5]+" )){
                              new test01().run(level, ch);
                          }else {
                              throw new Exception();}
                      }catch (Exception e) {
                          System.out.println("輸入有誤!!!不能包含漢字字符,請(qǐng)重新輸入");
                          System.out.println("***********************************");
                          runTest(); //遞歸
                      }
                  }else if(str.matches("[-9-0]+")){ //
                      throw new Exception();
                  }
              }catch (Exception e) {
                  System.out.println(" 輸入有誤!!!只能輸入大于等于3的奇數(shù),請(qǐng)重新輸入");
                  System.out.println("***********************************");
                  runTest(); //遞歸
              }
          }
          }

      以上就是java打印出菱形圖案實(shí)例詳解的詳細(xì)內(nèi)容,更多關(guān)于java打印菱形圖案的資料請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!


      網(wǎng)站欄目:java打印出菱形圖案實(shí)例詳解
      分享鏈接:http://ef60e0e.cn/article/gscgig.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        金川县| 稷山县| 横峰县| 肥乡县| 东平县| 蓬安县| 浏阳市| 溆浦县| 博湖县| 东至县| 景谷| 南充市| 徐水县| 交城县| 花垣县| 浠水县| 嘉祥县| 北宁市| 水城县| 鄂州市| 咸阳市| 东阳市| 香河县| 克什克腾旗| 宁远县| 商水县| 阳东县| 小金县| 荣成市| 崇仁县| 荔浦县| 阜阳市| 平湖市| 湘潭市| 曲沃县| 海南省| 改则县| 富源县| 乌苏市| 诸暨市| 罗江县|