A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张俊生 高级黑马   /  2013-8-16 00:13  /  6635 人查看  /  52 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 EYE_SEE_YOU 于 2013-8-22 20:55 编辑

本期活动

根据要求打印相对应的图案

最少1个技术分,最高3个技术分
心动不如行动
快快行动吧



题目

1.打印一个菱形
                   *                                
                 ***                        
               *****                        
             *******               
           *********               
             *******
               *****        
                 ***        
                   *        
2.打印两个菱形
                     *                *               
                   ***            ***               
                 *****        *****               
               *******   *******                 
             *****************               
               *******   *******
                *****        *****
                  ***           ***
                    *               *
打印如图相邻的四个菱形               
                     *              *               
                   ***          ***               
                 *****      *****               
               *******  *******                 
             *****************               
               *******  *******
                *****       *****
                  ***           ***
                     *             *               
                   ***         ***               
                 *****      *****               
               *******  *******                 
             *****************               
               *******  *******
                *****       *****
                  ***           ***
                    *               *                                
                  


               
        扩展        打任意X乘Y个菱形




注意:设置阅读权限   



]U3DCGSMJPJ06Z}@]D2~SJV.jpg (24.95 KB, 下载次数: 50)

]U3DCGSMJPJ06Z}@]D2~SJV.jpg

Desktop.rar

5.86 KB, 下载次数: 170

这是第一个做出的答案

评分

参与人数 3技术分 +5 黑马币 +3 收起 理由
薛鹏鹏 + 1
职业规划-帅丽霞老师 + 3
以防万一 + 1 + 3 辛苦了~

查看全部评分

52 个回复

正序浏览
版主啊,我那个做出了x*y了  怎么不给我5分啊?怎么着也有三分啊
回复 使用道具 举报
单凯 发表于 2013-8-17 21:17
那就只给2分么,⊙﹏⊙b

昨天就有人做出来了

回复 使用道具 举报
谢铭 发表于 2013-8-16 23:41
注:因为学习的原因,加上看到这个帖子的时间比较晚,时间很紧张,没能优化代码,只是由for循环和if语句组 ...

呵呵,这是上第三天的for循环中的课程里,老师给我们留的作业,用的是当时,最简单的for循环,没有用到函数等,所以看起来很乱,这段时间的学习压力大,没有时间调整。
回复 使用道具 举报
单凯 发表于 2013-8-16 20:59
/**
* 题目 : 打任意X乘Y个菱形
*

注意:设置阅读权限       只要有一个人做出来后,我就公布答案,并且这个人加五个技术分!


强烈要求公布答案以及第一个人,O(∩_∩)O~
回复 使用道具 举报
单凯 发表于 2013-8-16 20:59
/**
* 题目 : 打任意X乘Y个菱形
*

那就只给2分么,⊙﹏⊙b
回复 使用道具 举报
本帖最后由 woaiheima 于 2013-8-17 20:41 编辑
  1. <blockquote>
复制代码
我现在只会打印第一个,希望能给加点分,谢谢!
回复 使用道具 举报
本帖最后由 べPNヤ 于 2013-8-17 20:24 编辑

l两种方法打印,求技术分

PrintLX.zip

1.17 KB, 阅读权限: 100, 下载次数: 1

回复 使用道具 举报
胡智 发表于 2013-8-16 18:41
class PrintExtend
{
        public static void main(String[] args)

额,大大,你出的题目包括扩展部分都有做出来。怎么才一个技术分啊。
回复 使用道具 举报
package com.itheima;
public class Diamond {

  public static void main(String[] args) {
  System.out.println("1,打印一个菱形");
  printDiamond(1,1);
  System.out.println("2,打印两个菱形");
  printDiamond(1,2);
  System.out.println("3,打印四个个菱形");
  printDiamond(2,2);
  System.out.println("4,打印任意行列数的菱形,这里以5*7为例");
  printDiamond(5,7);
   
  }
     
  
  public static void printDiamond(int hang,int lie){
   printSpace(5 - 1);
   printWord(2 * 1 - 1);
   printSpace(5 - 1);   
   for (int j = 1; j < lie; j++) {
    printSpace(4 - 1);
    printWord(2 * 1 - 1);
    printSpace(5 - 1);
   }
   System.out.println();
   for (int x = 0; x < hang; x++) {//对行进行循环
   //打印上半段
   for (int i = 2; i <= 4; i++) {
    printSpace(5 - i);
    printWord(2 * i - 1);
    printSpace(5 - i);   
    for (int j = 1; j < lie; j++) {
     printSpace(4 - i);
     printWord(2 * i - 1);
     printSpace(5 - i);
    }
    System.out.println();//每打一行就换行
   }
   //打印中间一行
   printWord(8*lie+1);
   System.out.println();
   //打印下半段
   for (int i = 4; i > 0; i--) {
    printSpace(5 - i);
    printWord(2 * i - 1);
    printSpace(5 - i);
    for (int j = 1; j < lie; j++) {
     printSpace(4 - i);
     printWord(2 * i - 1);
     printSpace(5 - i);
    }
    System.out.println();//每打一行就换行
   }
   }
  }
  
  public static void printSpace(int m){//打印空格的方法
   for (int i = 0; i < m; i++) {
   System.out.print(" ");
  }
  }
  
  public static void printWord(int m){//打印*的方法
   for (int i = 0; i < m; i++) {
   System.out.print("*");
  }
  }
}



回复 使用道具 举报
  1. public static void main(String[] args) {
  2.                 printOne();
  3.         }

  4.         // 打印出一个菱形
  5.         public static void printOne() {

  6.                 for (int i = 1; i <= 5; i++) {
  7.                         for (int j = i; j < 5; j++) {
  8.                                 System.out.print(" ");
  9.                         }

  10.                         for (int k = 1; k <= 2 * i - 1; k++) {
  11.                                 System.out.print("*");
  12.                         }

  13.                         System.out.println();
  14.                 }

  15.                 for (int i = 5 - 1; i >= 1; i--) {
  16.                         for (int j = 1; j <= 5 - i; j++) {
  17.                                 System.out.print(" ");
  18.                         }

  19.                         for (int k = 2 * i - 1; k > 0; k--) {
  20.                                 System.out.print("*");
  21.                         }

  22.                         System.out.println();
  23.                 }

  24.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
张俊生 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
打印一个菱形
package soncket;

public class Oss
{
        public static void main(String[]args)
        {
                for(int x=1;x<5;x++)
                {
                        for(int y=x;y<5;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=0;z<x;z++)
                        {
                                System.out.print("*");
                        }
                        for(int a=1;a<x;a++)
                        {
                                System.out.print("*");
                        }
                        System.out.println();
                }
                for(int x=1;x<6;x++)
                {
                        for(int y=1;y<x;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=x;z<6;z++)
                        {
                                System.out.print("*");
                        }
                        for(int a=x+1;a<6;a++)
                        {
                                System.out.print("*");
                        }
                        System.out.println();
                }
        }
}

打印两个菱形
package soncket;

public class Oss
{
        public static void main(String[]args)
        {
                for(int x=1;x<5;x++)
                {
                        for(int y=x;y<5;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=0;z<x;z++)
                        {
                                System.out.print("*");
                        }
                        for(int a=1;a<x;a++)
                        {
                                System.out.print("*");
                        }
                        for(int y=x;y<5;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int b=x+1;b<5;b++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=0;z<x;z++)
                        {
                                System.out.print("*");
                        }
                        for(int a=1;a<x;a++)
                        {
                                System.out.print("*");
                        }
                        System.out.println();
                }
                for(int x=1;x<6;x++)
                {
                        for(int y=1;y<x;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=x;z<6;z++)
                        {
                                System.out.print("*");
                        }
                        for(int a=x+1;a<6;a++)
                        {
                                System.out.print("*");
                        }
                        for(int y=1;y<x;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int b=1;b<x-1;b++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=x;z<6;z++)
                        {
                                if(z==1)
                                {
                                        z+=1;
                                }
                                System.out.print("*");
                        }
                        for(int a=x+1;a<6;a++)
                        {
                                System.out.print("*");
                        }

                        System.out.println();
                }
        }
}

打印四个菱形
package soncket;

public class Oss_1
{
        public static void main(String[]args)
        {
                for(int x=1;x<5;x++)
                {
                        for(int y=x;y<5;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=0;z<x;z++)
                        {
                                System.out.print("*");
                        }
                        for(int a=1;a<x;a++)
                        {
                                System.out.print("*");
                        }
                        for(int y=x;y<5;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int b=x+1;b<5;b++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=0;z<x;z++)
                        {
                                System.out.print("*");
                        }
                        for(int a=1;a<x;a++)
                        {
                                System.out.print("*");
                        }
                        System.out.println();
                }
                for(int x=1;x<6;x++)
                {
                        for(int y=1;y<x;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=x;z<6;z++)
                        {
                                System.out.print("*");
                        }
                        for(int a=x+1;a<6;a++)
                        {
                                System.out.print("*");
                        }
                        for(int y=1;y<x;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int b=1;b<x-1;b++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=x;z<6;z++)
                        {
                                if(z==1)
                                {
                                        z+=1;
                                }
                                System.out.print("*");
                        }
                        for(int a=x+1;a<6;a++)
                        {
                                System.out.print("*");
                        }

                        System.out.println();
                }
                for(int w=1;w<4;w++)
                {
                        for(int y=w+2;y<6;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=0;z<w+1;z++)
                        {
                                System.out.print("*");
                        }
                        for(int a=0;a<w;a++)
                        {
                                System.out.print("*");
                        }
                        for(int y=w+2;y<6;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int b=w+2;b<5;b++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=1;z<w+1;z++)
                        {
                                System.out.print("*");
                        }
                        for(int a=0;a<w+1;a++)
                        {
                                System.out.print("*");
                        }
                        System.out.println();
                }
                for(int w=1;w<6;w++)
                {
                        for(int y=1;y<w;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=w;z<6;z++)
                        {
                                System.out.print("*");
                        }
                        for(int a=w+1;a<6;a++)
                        {
                                System.out.print("*");
                        }
                        for(int y=1;y<w;y++)
                        {
                                System.out.print(" ");
                        }
                        for(int b=1;b<w-1;b++)
                        {
                                System.out.print(" ");
                        }
                        for(int z=w;z<6;z++)
                        {
                                if(z==1)
                                {
                                        z+=1;
                                }
                                System.out.print("*");
                        }
                        for(int a=w+1;a<6;a++)
                        {
                                System.out.print("*");
                        }

                        System.out.println();
        }
}


}


评分

参与人数 1技术分 +2 收起 理由
张俊生 + 2 神马都是浮云

查看全部评分

回复 使用道具 举报
  1. package com.zhang;

  2. /*
  3. * 题目:打印 任意X乘Y个菱形
  4. * 思路:
  5. * 1.首先要定义出一个菱形
  6. * 2.然后再想如何控制行数和列数
  7. */
  8. public class outprint {

  9.         public static void main(String[] args) {
  10.                 //定义一个2行3列的图形
  11.                 ok(1, 3);
  12.         }
  13.         //控制行数
  14.         public static void ok(int e,int w){
  15.                 for(int x = 0;x<e;x++){
  16.                         print(w);
  17.                 }
  18.         }
  19.         //控制列数
  20.         public static void print(int w){
  21.                 for(int x=1;x<=9;x++){
  22.                         if (x <= 5) {
  23.                                 //控制列数
  24.                                 for(int q=0;q<w;q++){
  25.                                         //控制前面空格
  26.                                         for (int z = 1; z < 6 - x; z++) {
  27.                                                 System.out.print(" ");
  28.                                         }
  29.                                         //控制中间*个数
  30.                                         for (int y = 0; y < x * 2 - 1; y++) {
  31.                                                 System.out.print("*");
  32.                                         }
  33.                                         //控制后面空格
  34.                                         for (int z = 0; z < 5 - x; z++) {
  35.                                                 System.out.print(" ");
  36.                                         }
  37.                                 }
  38.                         }
  39.                         if(x>5){
  40.                                 //控制列数
  41.                                 for(int q=0;q<w;q++){
  42.                                         //控制前面空格
  43.                                         for (int z = 0; z < x - 5; z++) {
  44.                                                 System.out.print(" ");
  45.                                         }
  46.                                         //控制中间*个数
  47.                                         for (int y = 0; y < (9 - x) * 2 + 1; y++) {
  48.                                                 System.out.print("*");
  49.                                         }
  50.                                         //控制后面空格
  51.                                         for (int z = 0; z < x - 5; z++) {
  52.                                                 System.out.print(" ");
  53.                                         }
  54.                                 }
  55.                         }
  56.                         System.out.println();
  57.                 }
  58.         }
  59. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
张俊生 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
jrry 中级黑马 2013-8-17 02:08:14
40#
  1. package test;
  2. /**
  3. * 打印图形
  4. * @author jerry
  5. *
  6. */
  7. public class PrintSharp {
  8.         public static void main(String[] args) {
  9.                 printDiamond(4, 4);
  10.         }
  11.         /**
  12.          * 打印上三角
  13.          * @param xHeng 横排个数
  14.          * @param index 竖列位置
  15.          */
  16.         private static void upTriangle(int xHeng,int index) {
  17.                 for (int i = index; i < 5; i++) {
  18.                         for (int h = 0; h < xHeng; h++) {
  19.                                 for (int j = i; j < 4; j++) {
  20.                                         System.out.print(" ");
  21.                                 }
  22.                                 if (h > 0) {
  23.                                         for (int j = i; j < 3; j++) {
  24.                                                 System.out.print(" ");
  25.                                         }
  26.                                         for (int m = 0; m <= 2 * i; m++) {
  27.                                                 if (m != 8) {
  28.                                                         System.out.print("*");
  29.                                                 }
  30.                                         }
  31.                                 } else {
  32.                                         for (int m = 0; m <= 2 * i; m++) {
  33.                                                 System.out.print("*");
  34.                                         }
  35.                                 }
  36.                         }
  37.                         System.out.println();
  38.                 }
  39.         }
  40.         /**
  41.          * 打印倒三角
  42.          * @param xHeng 横排个数
  43.          */
  44.         private static void downTriangle(int xHeng) {
  45.                 for (int i = 0; i < 4; i++) {
  46.                         for (int h = 0; h < xHeng; h++) {
  47.                                 for (int j = 0; j < i + 1; j++) {
  48.                                         System.out.print(" ");
  49.                                 }
  50.                                 if (h > 0) {
  51.                                         for (int j = 0; j < i; j++) {
  52.                                                 System.out.print(" ");
  53.                                         }
  54.                                         for (int m = 7; m > 2 * i; m--) {
  55.                                                 System.out.print("*");
  56.                                         }
  57.                                 } else {
  58.                                         for (int m = 7; m > 2 * i; m--) {
  59.                                                 System.out.print("*");
  60.                                         }
  61.                                 }
  62.                         }
  63.                         System.out.println();
  64.                 }
  65.         }
  66.         /**
  67.          * 打印菱形
  68.          * @param xHeng 横排个数
  69.          * @param yShu 竖排个数
  70.          */
  71.         private static void printDiamond(int xHeng, int yShu) {
  72.                 for (int p = 0; p < yShu; p++) {
  73.                         //先打印上三角,第一次循环即打印的第一横排需循环打印5次,以后打印只需循环打印4次,
  74.                         if (p==0)
  75.                                 upTriangle(xHeng,0);
  76.                          else
  77.                                 upTriangle(xHeng,1);
  78.                         //再打印倒三角
  79.                         downTriangle(xHeng);
  80.                 }
  81.         }
  82. }
复制代码

评分

参与人数 1技术分 +2 收起 理由
张俊生 + 2 不错

查看全部评分

回复 使用道具 举报
gulup 中级黑马 2013-8-17 01:41:09
39#
  1. class Test
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 test(6,5,3);
  6.         }

  7.         public static void test(int size,int x,int y){
  8.                 for(int n = 0; n < y; n++){
  9.                         for (int i = 1; i <= size; i++) {
  10.                                 for (int j = i; j < size; j++) {
  11.                                         System.out.print(" ");
  12.                                 }
  13.                                 for (int k = 1; k <= 2 * i - 1; k++) {
  14.                                         System.out.print("*");
  15.                                 }
  16.                                 for(int q = 1; q < x; q++){
  17.                                         for(int z = 0; z < 2; z++){
  18.                                                 for (int j = i; j < size; j++) {
  19.                                                         System.out.print(" ");
  20.                                                 }
  21.                                         }
  22.                                         for (int k = 1; k <= 2 * i - 1; k++) {
  23.                                                 System.out.print("*");
  24.                                         }
  25.                                 }
  26.                                 System.out.println();
  27.                         }

  28.                         for (int i = size - 1; i >= 1; i--) {
  29.                                 for (int j = 1; j <= size - i; j++) {
  30.                                         System.out.print(" ");
  31.                                 }
  32.                                 for (int k = 2 * i - 1; k > 0; k--) {
  33.                                         System.out.print("*");
  34.                                 }
  35.                                 for(int q = 1; q < x; q++){
  36.                                         for(int z = 0; z < 2; z++){
  37.                                                 for (int j = 1; j <= size - i; j++) {
  38.                                                         System.out.print(" ");
  39.                                                 }
  40.                                         }
  41.                                         for (int k = 2 * i - 1; k > 0; k--) {
  42.                                                 System.out.print("*");
  43.                                         }
  44.                                 }
  45.                                 System.out.println();
  46.                         }
  47.                 }
  48.                
  49.         }
  50. }
复制代码


可以定义菱形大小,x行y列。循环太多了。。太晚了,随便写了。懒得修改了。不知道能给几分。

评分

参与人数 1技术分 +1 收起 理由
张俊生 + 1 神马都是浮云,相邻公用一个*

查看全部评分

回复 使用道具 举报
public class Diamond {

  public static void main(String[] args) {
   
   int hang=3 , lie=7;//确定要打印的行数与列数
   //打印第一排
   printSpace(5 - 1);
   printWord(2 * 1 - 1);
   printSpace(5 - 1);   
   for (int j = 1; j < lie; j++) {
    printSpace(4 - 1);
    printWord(2 * 1 - 1);
    printSpace(5 - 1);
   }
   System.out.println();
   for (int x = 0; x < hang; x++) {//对行进行循环
   //打印上半段
   for (int i = 2; i <= 4; i++) {
    printSpace(5 - i);
    printWord(2 * i - 1);
    printSpace(5 - i);   
    for (int j = 1; j < lie; j++) {
     printSpace(4 - i);
     printWord(2 * i - 1);
     printSpace(5 - i);
    }
    System.out.println();//每打一行就换行
   }
   //打印中间一行
   printWord(8*lie+1);
   System.out.println();
   //打印下半段
   for (int i = 4; i > 0; i--) {
    printSpace(5 - i);
    printWord(2 * i - 1);
    printSpace(5 - i);
    for (int j = 1; j < lie; j++) {
     printSpace(4 - i);
     printWord(2 * i - 1);
     printSpace(5 - i);
    }
    System.out.println();//每打一行就换行
   }
  }
     }
  
  public static void printSpace(int m){//打印空格的方法
   for (int i = 0; i < m; i++) {
   System.out.print(" ");
  }
  }
  
  public static void printWord(int m){//打印*的方法
   for (int i = 0; i < m; i++) {
   System.out.print("*");
  }
  }
}

这个可以打印扩展任意数量的菱形,只要在第一行输入行数和列数就可以了

评分

参与人数 1技术分 +2 收起 理由
张俊生 + 2 做的不错

查看全部评分

回复 使用道具 举报
怎么设置隐藏啊
回复 使用道具 举报
  1. import java.util.Scanner;

  2. public class Demo5 {
  3.         
  4.         //已经将菱形中间的点看成(4,4),那么*到该点的距离如果小于5则为'*',其他则为' ',
  5.         
  6.         public static void main(String[] args) {
  7.                 Scanner s = new Scanner(System.in);
  8.                 System.out.println("打印m列n行的菱形");
  9.                 System.out.println("你输入的列数n为:");
  10.                 int m=s.nextInt();
  11.                 System.out.println("你输入的行数m为:");
  12.                 int n=s.nextInt();
  13.                
  14.                
  15.                 for (int y = 0; y < 9+8*m; y++) {//控制列数,第一列为9,之后多一个就加8
  16.                         for (int x = 0; x <9+8*n; x++) {//控制行数,第一行为9,之后多一菱形加8个位置
  17.                                 if (Math.abs(x % 8 - 4) + Math.abs(y % 8 - 4) < 5) {
  18.                                         System.out.print("*");
  19.                                 } else {
  20.                                         System.out.print(" ");
  21.                                 }
  22.                         }
  23.                         System.out.println();
  24.                 }
  25.                
  26.         }
  27. }
复制代码
楼主 给分啊 急缺分啊  花了我2个多小时  不容易啊

评分

参与人数 1技术分 +3 收起 理由
张俊生 + 3 做的不错

查看全部评分

回复 使用道具 举报
本帖最后由 谢铭 于 2013-8-16 23:55 编辑

  1. class ForDemo{
  2. public static void main(String [] args){
  3.   System.out.println("打印一个菱形");
  4.   for(int a=1; a<=5; a++){  //控制上半部
  5.    for(int b=1; b<=5-a; b++){  
  6.     System.out.print(" ");
  7.    }
  8.    for(int c=1; c<=a; c++){  
  9.    System.out.print("*");
  10.    }
  11.    for(int d=1; d<a; d++){  
  12.     System.out.print("*");
  13.    }
  14.    System.out.println();
  15.   }
  16.   for(int e=1; e<=4; e++){  //控制下半部
  17.    for(int f=1; f<=e; f++){
  18.     System.out.print(" ");
  19.    }
  20.    for(int g=1; g<=5-e; g++){  
  21.     System.out.print("*");
  22.    }
  23.    for(int h=1; h<5-e; h++){
  24.     System.out.print("*");
  25.    }
  26.    System.out.println();
  27.   }
  28.   System.out.println("打印两个菱形");
  29.   for(int a=1; a<=5; a++){
  30.    for(int b=1; b<=5-a; b++){  
  31.     System.out.print(" ");
  32.    }
  33.    for(int c=1; c<=a; c++){  
  34.    System.out.print("*");
  35.    }
  36.    for(int d=1; d<a; d++){  
  37.     System.out.print("*");
  38.    }
  39.    for(int b=1; b<=5-a; b++){
  40.     System.out.print(" ");
  41.    }
  42.    for(int b=1; b<=4-a; b++){
  43.     System.out.print(" ");
  44.    }
  45.    for(int c=1; c<=a; c++){
  46.    System.out.print("*");
  47.    }
  48.    if(a==5){
  49.     System.out.print("***");
  50.     }else{
  51.      for(int d=1; d<a; d++){
  52.      System.out.print("*");
  53.    }
  54.    }
  55.    System.out.println();   
  56.   }
  57.   for(int e=1; e<=4; e++){
  58.    for(int f=1; f<=e; f++){
  59.     System.out.print(" ");
  60.    }
  61.    for(int g=1; g<=5-e; g++){
  62.     System.out.print("*");
  63.    }
  64.    for(int h=1; h<5-e; h++){
  65.     System.out.print("*");
  66.    }
  67.    for(int f=1; f<=e; f++){
  68.     System.out.print(" ");
  69.    }
  70.    for(int f=1; f<e; f++){
  71.     System.out.print(" ");
  72.    }
  73.    for(int g=1; g<=5-e; g++){
  74.     System.out.print("*");
  75.    }
  76.    for(int h=1; h<5-e; h++){
  77.     System.out.print("*");
  78.    }
  79.    System.out.println();
  80.   }
  81.   System.out.println("打印四个菱形");
  82.   for(int a=1; a<=5; a++){  //外循环控制执行的次数为5次
  83.    for(int b=1; b<=5-a; b++){
  84.     System.out.print(" ");
  85.    }
  86.    for(int c=1; c<=a; c++){
  87.    System.out.print("*");
  88.    }
  89.    for(int d=1; d<a; d++){
  90.     System.out.print("*");
  91.    }
  92.    for(int b=1; b<=5-a; b++){
  93.     System.out.print(" ");
  94.    }
  95.    for(int b=1; b<=4-a; b++){
  96.     System.out.print(" ");
  97.    }
  98.    for(int c=1; c<=a; c++){
  99.    System.out.print("*");
  100.    }
  101.    if(a==5){    //第二个三角形右侧,当打印到第五行时,进行一次判断,
  102.     System.out.print("***");
  103.     }else{
  104.      for(int d=1; d<a; d++){
  105.      System.out.print("*");
  106.    }
  107.    }
  108.    System.out.println();
  109.   }
  110.   for(int e=1; e<=4; e++){  //控制执行的次数为4次,这里是打印下半部的代码
  111.    for(int f=1; f<=e; f++){
  112.     System.out.print(" ");
  113.    }
  114.    for(int g=1; g<=5-e; g++){
  115.     System.out.print("*");
  116.    }
  117.    for(int h=1; h<5-e; h++){
  118.     System.out.print("*");
  119.    }
  120.    for(int f=1; f<=e; f++){
  121.     System.out.print(" ");
  122.    }
  123.    for(int f=1; f<e; f++){
  124.     System.out.print(" ");
  125.    }
  126.    for(int g=1; g<=5-e; g++){
  127.     System.out.print("*");
  128.    }
  129.    for(int h=1; h<5-e; h++){
  130.     System.out.print("*");
  131.    }
  132.    System.out.println();
  133.   }
  134.   /*下面这段代码是控制下半部的*/
  135.   for(int a=2; a<=5; a++){  //外循环控制执行的次数为4次
  136.    for(int b=1; b<=5-a; b++){  
  137.     System.out.print(" ");
  138.    }
  139.    for(int c=1; c<=a; c++){  
  140.    System.out.print("*");
  141.    }
  142.    for(int d=1; d<a; d++){  
  143.     System.out.print("*");
  144.    }
  145.    for(int b=1; b<=5-a; b++){
  146.     System.out.print(" ");
  147.    }
  148.    for(int b=1; b<=4-a; b++){
  149.     System.out.print(" ");
  150.    }
  151.    for(int c=1; c<=a; c++){  
  152.    System.out.print("*");
  153.    }
  154.    if(a==5){    //当外循环执行到第5次的时候,只执行该段代码
  155.     System.out.print("***");
  156.     }else{   //否则执行其它的代码
  157.      for(int d=1; d<a; d++){
  158.      System.out.print("*");
  159.    }
  160.    }
  161.    System.out.println();
  162.   }
  163.   for(int e=1; e<=4; e++){  //控制执行的次数为4次,这里是打印下半部的代码
  164.    for(int f=1; f<=e; f++){
  165.     System.out.print(" ");
  166.    }
  167.    for(int g=1; g<=5-e; g++){
  168.     System.out.print("*");
  169.    }
  170.    for(int h=1; h<5-e; h++){
  171.     System.out.print("*");
  172.    }
  173.    for(int f=1; f<=e; f++){
  174.     System.out.print(" ");
  175.    }
  176.    for(int f=1; f<e; f++){
  177.     System.out.print(" ");
  178.    }
  179.    for(int g=1; g<=5-e; g++){
  180.     System.out.print("*");
  181.    }
  182.    for(int h=1; h<5-e; h++){
  183.     System.out.print("*");
  184.    }
  185.    System.out.println();
  186.   }      
  187. }
  188. }
复制代码
注:因为学习的原因,加上看到这个帖子的时间比较晚,时间很紧张,没能优化代码,只是由for循环和if语句组成,今晚时间比较晚了,还要预习明天的课程,明天晚上是第二次阶段性测试,这里先不优化代码了,请见谅。
格式在本地编辑是好的,我调好了,但是复制到帖子里就有点乱了,调了还是这样,影响阅读,请见谅。

为了便于查看,我没有调整打印。

评分

参与人数 1技术分 +2 收起 理由
张俊生 + 2 出来了,就是太乱,很难让人看懂.

查看全部评分

回复 使用道具 举报
  1. package Month08;

  2. /*
  3. * 打印菱形
  4. *
  5. */
  6. public class Day16 {
  7.         public static void main(String[] args) {
  8.                 print(1, 1);// 打印一个菱形
  9.                 print(1, 2);// 打印两个菱形
  10.                 print(2, 2);// 打印相邻四个菱形

  11.         }

  12.         public static void print(int x, int y) {// 打印x乘以y个菱形的方法
  13.                 String[][] str1 = {
  14.                                 { " ", " ", " ", " ", "*", " ", " ", " ", " " },
  15.                                 { " ", " ", " ", "*", "*", "*", " ", " ", " " },
  16.                                 { " ", " ", "*", "*", "*", "*", "*", " ", " " },
  17.                                 { " ", "*", "*", "*", "*", "*", "*", "*", " " },
  18.                                 { "*", "*", "*", "*", "*", "*", "*", "*", "*" },
  19.                                 { " ", "*", "*", "*", "*", "*", "*", "*", " " },
  20.                                 { " ", " ", "*", "*", "*", "*", "*", " ", " " },
  21.                                 { " ", " ", " ", "*", "*", "*", " ", " ", " " },
  22.                                 { " ", " ", " ", " ", "*", " ", " ", " ", " " }, };
  23.                
  24.                
  25.                
  26.                 for (int x1 = 1; x1 <= x; x1++) {
  27.                         for (int i = 0; i < str1.length; i++) {
  28.                                 for (int y1 = 1; y1 <= y; y1++) {
  29.                                         for (int j = 0; j < str1[i].length; j++) {
  30.                                                 System.out.print(str1[i][j]);
  31.                                         }
  32.                                 }
  33.                                 System.out.println();
  34.                         }
  35.                 }
  36.         }

  37. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
张俊生 + 1 相邻 公用一个*

查看全部评分

回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 加入黑马