注册 登录
编程论坛 JAVA论坛

java中的菱形打印问题

云雅 发布于 2016-03-19 18:16, 4408 次点击
public class lingxing{
   public static void main(String[] args){
   for(int i=1;i<=7;i++)
   {
     if(i<=4)
     {
       for(int j=1;j<=4-i;j++)
       System.out.println(" ");
       for(int k=1;k<=2*i-1;k++)
        System.out.println("*");
     }
     else
     {
       for(int j=1;j<=i-4;j++)
       System.out.println(" ");
       for(int k=1;k<=15-2*i;k++)
       System.out.println("*");
     }
    System.out.println("\n");
   }
}
}

这个代码为啥打印不出菱形,我在线等,请高手帮帮忙。本人学完c后刚学java。
16 回复
#2
云雅2016-03-19 19:33
有没有人呀
#3
林月儿2016-03-19 20:54
#4
林月儿2016-03-19 21:00
程序代码:
public class Test {
    public static void main(String[] args) {
        int n=4;
        for(int i=-n;i<n;i++){
            for(int j=-n;j<n;j++){
                if(Math.abs(i+j)<n&&Math.abs(i-j)<n)
                    System.out.print("*");
                else
                    System.out.print(" ");
            }
            System.out.println();
        }
    }
}
#5
萧鼎2016-03-19 21:09
public static void main(String[] args) {
        for(int i=0;i<3;i++){
            for(int k=0;k<3-i;k++){
                System.out.print(" ");
            }
            System.out.println("*****");
        }
    }

结果是:
   *****
  *****
 *****
#6
云雅2016-03-19 21:26
回复 3楼 林月儿
我想问一下我的那个是哪里错了 为啥打印不出菱形
#7
云雅2016-03-19 21:27
回复 3楼 林月儿
我的编程软件是jdk
#8
萧鼎2016-03-19 21:38
把println改成print,不用换行,在看看打出来的是什么。(离菱形更近了)。
#9
萧鼎2016-03-19 22:29
把你的输出的空格一个编成两个就更像了。菱形即可完成。
#10
郑家兴2016-03-20 13:02
把println换成print就行了,println直接输出换行了,所以打印不出菱形。
#11
林月儿2016-03-20 16:39
#12
娟梓2016-03-20 22:37
把所有for后面包含的一条打印语句中去掉ln
#13
小二狗2016-03-21 12:55
你把输出时的println改成print就行了,println是自动换行到下一行,就输不出菱形的效果了
#14
云雅2016-03-21 17:39
回复 10楼 郑家兴
谢谢你咯
#15
云雅2016-03-21 17:41
回复 10楼 郑家兴
谢谢你们 我明白了println和print的用法
#16
我不会喜欢你2016-03-22 19:30
public class lingxing {

    public lingxing() {
        // TODO Auto-generated constructor stub
    }
           public static void main(String[] args){
           for(int i=1;i<=7;i++)
           {
             if(i<=4)
             {
               for(int j=1;j<=4-i;j++)
               System.out.print(" ");
               for(int k=1;k<=2*i-1;k++)
                System.out.print("*");
               //System.out.println();
             }
             else
             {
               for(int j=1;j<=i-4;j++)
               System.out.print(" ");
               for(int k=1;k<=15-2*i;k++)
               System.out.print("*");
             }
            System.out.println();
           }
        }
}
#17
X158108031582016-03-22 21:06
回复 4楼 林月儿
大神,能加上注解吗
1