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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

  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 神马都是浮云

查看全部评分

回复 使用道具 举报
打印一个菱形
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. 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 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("*");
  }
  }
}



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

额,大大,你出的题目包括扩展部分都有做出来。怎么才一个技术分啊。
回复 使用道具 举报
本帖最后由 べPNヤ 于 2013-8-17 20:24 编辑

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

PrintLX.zip

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

回复 使用道具 举报
本帖最后由 woaiheima 于 2013-8-17 20:41 编辑
  1. <blockquote>
复制代码
我现在只会打印第一个,希望能给加点分,谢谢!
回复 使用道具 举报
单凯 发表于 2013-8-16 20:59
/**
* 题目 : 打任意X乘Y个菱形
*

那就只给2分么,⊙﹏⊙b
回复 使用道具 举报
单凯 发表于 2013-8-16 20:59
/**
* 题目 : 打任意X乘Y个菱形
*

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


强烈要求公布答案以及第一个人,O(∩_∩)O~
回复 使用道具 举报
谢铭 发表于 2013-8-16 23:41
注:因为学习的原因,加上看到这个帖子的时间比较晚,时间很紧张,没能优化代码,只是由for循环和if语句组 ...

呵呵,这是上第三天的for循环中的课程里,老师给我们留的作业,用的是当时,最简单的for循环,没有用到函数等,所以看起来很乱,这段时间的学习压力大,没有时间调整。
回复 使用道具 举报
单凯 发表于 2013-8-17 21:17
那就只给2分么,⊙﹏⊙b

昨天就有人做出来了

回复 使用道具 举报
版主啊,我那个做出了x*y了  怎么不给我5分啊?怎么着也有三分啊
回复 使用道具 举报
123
您需要登录后才可以回帖 登录 | 加入黑马