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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© God’s favoure 中级黑马   /  2014-10-20 12:45  /  1477 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public static void getPrism(){//打印一个棱形
                int i,j;
                for(i=0;i<10;i++){
                        if(i%2==0){//i的取值范围是0,2,4,6,8,里面需要循环五次,也就是说,正三角行数为5
                                for(j=0;j<8-i;j++){
                                        System.out.print(" ");
                                }
                                for(j =0;j<i+1;j++){
                                        System.out.print("*"+" ");
                                }
                                System.out.println();
                        }
                }
                for(i=0;i<7;i++){
                        if(i%2==0){
                                for(j=0;j<i+2;j++){
                                        System.out.print(" ");
                                }
                                for(j=0;j<7-i;j++){
                                        System.out.print("*"+" ");
                                }
                                System.out.println();
                        }
                }

评分

参与人数 1黑马币 +1 收起 理由
杨佳名 + 1

查看全部评分

2 个回复

正序浏览
本帖最后由 cxdzh 于 2014-10-20 15:34 编辑

  1. class getPrism
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 prism(80);//调用输出菱形的方法.参数决定此菱形的总行数.
  6.         }
  7.         //定义一个输出菱形的方法.hangShu这个变量代表要输出的菱形总行数..修改此变量即可输出不同行数的菱形.
  8.         public static void prism(int hangShu)
  9.         {
  10.                 if (hangShu<3||hangShu>80)//实测3行以下无法称为菱形,80行以上在控制台输出效果也畸形了.
  11.                 {
  12.                         System.out.println("你要输出的菱形行数超出可执行范围!");
  13.                         return;
  14.                 }
  15.                
  16.                 int shangHangShu=hangShu/2+hangShu%2;//判断尖角朝上部分的行数,总行数除以2,如果总行数是单数,上面多输出一行.
  17.                 int xiaHangShu=hangShu/2;//尖角朝下部分的行数.

  18.                 for (int i=1;i<=shangHangShu;i++ )//从1开始循环,输出上半部分.
  19.                 {
  20.                         for(int j=0;j<shangHangShu-i;j++)//先打印空格,因为尖角朝上,总行数减去当前行数即为要打印的空格数.
  21.                                 System.out.print(" ");
  22.                         for(int h=1;h<=i*2-1;h++)//第1行1颗星,第2行3颗,第3行5颗,即每行打印数为行数*2-1)颗
  23.                                 System.out.print("*");
  24.                         System.out.println("");//一行打印完换行.
  25.                 }
  26.                 for (int i=xiaHangShu;i>0;i-- )//输出尖角下半部分.
  27.                 {                        
  28.                         for(int j=xiaHangShu;j>i-hangShu%2;j--)//下半部分空格打印次数=行数,但如果总行数是双数,则空格打印次数=行数-1
  29.                                 System.out.print(" ");
  30.                         for(int h=i*2-1;h>0;h--)//每行打印星星次数与上半部分相反.
  31.                                 System.out.print("*");
  32.                         System.out.println("");
  33.                 }
  34.         }
  35. }
复制代码

回复 使用道具 举报
  1. public class Test20
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 for (int x = 0; x < 6; x++)
  6.                 {
  7.                         for (int y = 0; y < 11; y++)
  8.                         {
  9.                                 if (y < 5 - x) System.out.print("  ");
  10.                                 else if (y > 5 + x) System.out.print("  ");
  11.                                 else System.out.print("* ");
  12.                         }
  13.                         System.out.println();
  14.                 }
  15.                 for (int x = 0; x < 6; x++)
  16.                 {
  17.                         for (int y = 0; y < 11; y++)
  18.                         {
  19.                                 if (y < x + 1) System.out.print("  ");
  20.                                 else if (y > 9 - x) System.out.print("  ");
  21.                                 else System.out.print("* ");
  22.                         }
  23.                         System.out.println();
  24.                 }
  25.         }
  26. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马