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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Toxicant 中级黑马   /  2016-9-11 22:58  /  874 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

      如何在控制台输入一个高为9,宽为5的菱形

4 个回复

倒序浏览
高为9宽为五这个不知道怎么画的,俺这个是高为9宽为9的菱形
public class LingXing {
       
        public static void main(String[] args) {
                int size=5;
               
                for(int i=1; i<=size; i++){
                        for(int j=i;j<size;j++){
                                System.out.print(" ");
                        }
                        for(int k=1;k<=i*2-1;k++){
                                System.out.print("*");
                        }
                        System.out.println();
                }
               
                for(int i=size-1;i>=1;i--){
                        for(int j=1;j<=size-i;j++){
                                System.out.print(" ");
                        }
                        for(int k=i*2-1;k>=1;k--){
                                System.out.print("*");
                        }
                        System.out.println();
                }
        }

}


结果是这样的:
    *
   ***
  *****
*******
*********
*******
  *****
   ***
    *

点评

棒棒滴  发表于 2016-9-12 15:35

评分

参与人数 1黑马币 +1 收起 理由
噜噜吧 + 1

查看全部评分

回复 使用道具 举报
可以先画出来,再观察每行的*和空格的数量,你会发现其规律的
回复 使用道具 举报
输入菱形的上半部分
                for (int i = 5; i >0; i--) {
//                        先打印空格,依次减少空格的打印
                        for (int j = 5-i; j < 5; j++) {
                                System.out.print(" ");
                        }
//                        在空格的后面打印左半部分"*",依次增加"*"的打印
                        for (int k = 0; k < 5 - i+1; k++) {       
                                System.out.print("*");
                        }
//                        打印右半部分的"*",依次增加"*"的打印
                        for (int j = 0; j < 5-i; j++) {
                                System.out.print("*");
                        }
//                        每次循环打印后都要换行
                        System.out.println();
                }
//                输入菱形的下半部分
                for (int i = 0; i < 5; i++) {
//                        打印空格从零个空格打印依次增加
                        for (int j = i+2; j>0; j--) {
                                System.out.print(" ");
                        }
//                        打印左半部分的"*",依次减少"*"的打印
                        for (int j = 0; j <4-i; j++) {
                                System.out.print("*");
                        }
//                        打印右半部分的"*",依次减少"*"的打印
                        for (int j = 0; j <3-i; j++) {
                                System.out.print("*");
                        }
                        System.out.println();
                }
自己的思路做的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马