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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 Maple_枫 于 2014-4-5 11:39 编辑

输入高度,输出菱形。如:输入9, 将输出如下图形
     #
    ###
   #####
  #######
#########
  #######
   #####
    ###
     #





  1. public class Test6 {
  2.         public static void main(String[] args)
  3.         {
  4.                 print(5);
  5.         }
  6.         public static void print(int x)
  7.         {
  8.                 int a=0;
  9.                 for(int i=1;i<=x;i+=2)
  10.                 {
  11.                         for(int b=a;b<5;b++)
  12.                         {
  13.                                 System.out.print(" ");
  14.                         }
  15.                         for(int y=0;y<i;y++)
  16.                         {
  17.                                 System.out.print("#");
  18.                         }
  19.                         for(int b=0;b<a+2;b++)
  20.                         {
  21.                                 System.out.print(" ");
  22.                         }
  23.                         for(int c=0;c<=x+1;c+=2)
  24.                         {
  25.                                 System.out.print("#");
  26.                         }
  27.                         x++;
  28.                         
  29.                         System.out.println();
  30.                         
  31.                         a++;
  32.                 }
  33.         }
  34.         
  35. }
复制代码

评分

参与人数 1黑马币 +2 收起 理由
枫儿 + 2 神马都是浮云

查看全部评分

4 个回复

倒序浏览
晕。。你的内层循环怎么并列了这么多啊
  1. import java.util.Scanner;
  2. /**
  3. * 输入行数打印菱形
  4. */
  5. public class Diamond {
  6.         public static void main(String[] args) {
  7.                 int rows = 0;        //菱形的行数
  8.                 Scanner input = new Scanner(System.in);
  9.                 System.out.print("请输入菱形行数:");
  10.                 rows = input.nextInt();

  11.                 while(rows%2 == 0){
  12.                         System.out.print("请输入奇数:");
  13.                         rows = input.nextInt();
  14.                 }

  15.                 int n = (rows+1)/2;
  16.                 //打印菱形的上半部分
  17.                 for(int i = 1; i <= n; i++){//外层循环变量i控制行数
  18.                         for(int j = 1; j <= n-i; j++){//内层循环变量j控制该行空格数
  19.                                 System.out.print(" ");
  20.                         }
  21.                         for(int k = 1; k <= 2*i-1; k++){//内层循环变量k控制该行*号数
  22.                                 System.out.print("*");
  23.                         }
  24.                         System.out.print("\n");
  25.                 }
  26.                 //打印菱形的下半部分
  27.                 for(int i = n-1; i >= 1; i--){
  28.                         for(int j = 1; j <= n-i; j++){
  29.                                 System.out.print(" ");
  30.                         }
  31.                         for(int k = 1; k <= 2*i-1; k++){
  32.                                 System.out.print("*");
  33.                         }
  34.                         System.out.print("\n");
  35.                 }
  36.         }
  37. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

回复 使用道具 举报
希望能对你有点帮助。。
回复 使用道具 举报
你好,下面的代码可以参考一下。
  1. public class Test01 {

  2.         /**
  3.          * @param args
  4.          */
  5.         public static void main(String[] args) {
  6.                 // TODO Auto-generated method stub
  7.                 printStar(5);

  8.         }
  9.        
  10.        
  11.         public static void printStar(int num){
  12.                 for(int i=1; i<=num; i++){    //该外层for循环控制上半部分打印的行数;
  13.                         for(int x=i; x<=num-1; x++){  //该内层for循环控制打印的空格数;
  14.                                 System.out.print(" ");
  15.                         }
  16.                         for(int y=1; y<=i; y++){      //该内层for循环控制打印的*,注意为了对称要带上空格。
  17.                                 System.out.print("* ");
  18.                         }
  19.                         System.out.println();      //每打印一次就换一次行;
  20.                 }
  21.                
  22.                 for(int z=1; z<=num-1; z++){  //该for循环控制下半部分打印的行数,因为要形成对称效果所以要比上半部分少打印一行即z<=num-1;
  23.                         for(int n=1; n<=z; n++){  //这里的内层循环更上面的类似了。
  24.                                 System.out.print(" ");
  25.                         }
  26.                         for(int m=z; m<=num-1; m++){
  27.                                 System.out.print("* ");
  28.                         }
  29.                        
  30.                         System.out.println();
  31.                 }
  32.         }

  33. }
复制代码



评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1

查看全部评分

回复 使用道具 举报





  1. 请参考哈

  2. class Demo
  3. {
  4.        
  5.        
  6.         public static void main(String args[])
  7.         {
  8.                 print(9);
  9.         }
  10.                
  11.         public static void print(int h)
  12.         {       
  13.                
  14.                 for(int x = 0;x < h;x++)
  15.                 {
  16.                         for(int a = x;a < h-1;a++)
  17.                         {
  18.                                 sop(" ");
  19.                         }
  20.                         for(int b = 0;b <= x;b++)
  21.                         {
  22.                                 sop("# ");   // #号旁边有个空格,感觉这样会好看一些
  23.                         }
  24.        
  25.                         System.out.println();//换行       
  26.                 }
  27.        
  28.        
  29.                 for(int y = 0;y < h;y++)
  30.                 {
  31.                         for(int m = 0;m <= y;m++)
  32.                         {
  33.                                 sop(" ");
  34.                         }
  35.                         for(int z = y;z < h;z++)
  36.                         {
  37.                                 sop("# ");
  38.                         }
  39.                         System.out.println();//换行
  40.                
  41.                 }  
  42.         }
  43.         public static void sop(Object obj)
  44.         {
  45.                 System.out.print(obj);
  46.         }

  47. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1

查看全部评分

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