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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

想用循环语句打印个空星矩形,有人有思路吗?

12 个回复

倒序浏览
   思路:
回复 使用道具 举报
上面一行,下面一行,中间的部分用嵌套循环就可以了,
回复 使用道具 举报
哈哈 楼上+1
回复 使用道具 举报
GiveUp 发表于 2015-6-25 00:49
上面一行,下面一行,中间的部分用嵌套循环就可以了,

嗯,应该是这样。
回复 使用道具 举报
public class 空星菱形2 {
  public static void main(String[] args) {
          Scanner sc = new Scanner(System.in);
                System.out.println("请输入数组");
                int k =sc.nextInt();
                demo5(k);//空星菱形
                System.out.println("实芯菱形");
                demo1(k);
}
  private static void demo5(int length) {
                //int length=5;
                for (int i = 1; i <length; i++) {
                        for (int j = 0; j <length-1-i; j++) {//空格数
                                System.out.print(" ");
                        }
                        for (int j = 1; j <=i*2-1; j++) {//星星数 j不能等于0,不然i*2-1等于负数
                                 if(j==1 || j==i*2-1){
                                         System.out.print("*");
                                 }else{
                                         System.out.print(" ");
                                 }
                        }
                        System.out.println();
                }
                //打印倒着的星星
                for (int i =length-2; i>0; i--) {
                        for (int j =1; length-1-i>=j; j++) {// 行数等于几空格就打印几次  2
                                System.out.print(" ");
                        }
                        for (int j = 1; j <=i*2-1; j++) {
                                /*System.out.print("*");*/
                                if(j==1 || j==i*2-1){
                                         System.out.print("*");
                                 }else{
                                         System.out.print(" ");
                                 }
                        }
                        System.out.println();
                }
        }
  private static void demo1(int length) {
                //int length=5;
                for (int i = 1; i <length; i++) {
                        for (int j = 0; j <length-1-i; j++) {//空格数
                                System.out.print(" ");
                        }
                        for (int j = 1; j <=i*2-1; j++) {//星星数 j不能等于0,不然i*2-1等于负数
                                 
                                         System.out.print("*");
                               
                        }
                        System.out.println();
                }
                //打印倒着的星星
                for (int i =length-2; i>0; i--) {
                        for (int j =1; length-1-i>=j; j++) {// 行数等于几空格就打印几次  2
                                System.out.print(" ");
                        }
                        for (int j = 1; j <=i*2-1; j++) {
                                 System.out.print("*");
                        }
                        System.out.println();
                }
        }
}
回复 使用道具 举报
/*空芯矩形
* 思路分析:
*  1.先打印一个实芯矩形出来
*     a.第一行行数
*     b.第二行列数
*  2.把第二行列数,如果不是一个和最后一个,其他的全部用空格替代   
* */
public class 空芯矩形 {
   public static void main(String[] args) {
         Scanner sc = new Scanner(System.in);
         System.out.println("请输入行数");
        int hang = sc.nextInt();
        System.out.println("请输入列数:");
        int high = sc.nextInt();
          for (int i = 0; i <hang/2; i++) {
                System.out.print("* ");
        }
          System.out.println("");
        for (int i = 0; i < hang-1; i++) {
                for (int j = 0; j < high-1; j++) {
                       
                        if(j==0 || j==high-2 ){
                                System.out.print("*");
                        }else{
                                System.out.print(" ");
                        }
                }
                System.out.println();

        }
        for (int i = 0; i <hang/2; i++) {
                System.out.print("*"+" ");
        }
}
}

回复 使用道具 举报
双重for循环  然后if语句判断一下  应该可以了吧
回复 使用道具 举报
......................
回复 使用道具 举报
wolfking0608 发表于 2016-10-8 20:58
/*空芯矩形
* 思路分析:
*  1.先打印一个实芯矩形出来

这不行啊
回复 使用道具 举报
老师想的,将矩形看做在一个XY左边,X等于0和x时或Y等于0和y时输出星星,其他时候输出空格
回复 使用道具 举报
不太明白题意。就在上下打印一行星号 ,中间的部分打印两头的星号不就行了?
回复 使用道具 举报
我去试试~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马