一个for循环就能打印出菱形!

时间:2022-09-24 14:28:43
public class TEXT {
public static void main(String[] args) {
int i,j,k;
//i 的值,-3,-2,-1,0,1,2,3
for(i=-3,j=1;i<=3;j++){
//对i取绝对值,并传至给k
if(i<0) k=i*(-1);
else k=i;
//如果满足条件,输出*,且跳出本次循环。
if(j<=k||(j>7-k&&j!=8)){
System.out.print("*");
continue;
}
//如果满足条件输出a
if(j>k&&j<=7-k){
System.out.print("a");
}
//如果j=8则i自加1,并将0重新赋值为0!
//(只有j在[1,7]范围内才输出)
if(j==8){
i++;
j=0;
System.out.println();
}
}
}
}
版权:南通大学 冯瑞

814 个解决方案

#1


mark

#2


mark 先生您是想说明什么,我才学JAVA不久,现在正往深处学。

#3


接分了。谢谢。

#4


每天回帖即可获得10分可用分!

#5


如果是回答面试题的话 哥们 你G了。。

实际上这个只需要一个参数 不是菱形的高度就是宽度(虽然可能打印出来的是正方形 但是 菱形的话 也只是看你打印的时候该如何打印)

#6


jf

#7


jf jf

#8


当然能 

#9


jiehun

#10


啊,就这程序还有版权?
说实话,很烂。硬编码,我都没兴趣看。

#11


jf

#12


jf

#13


的确是生拉硬套哦
对着图形,总结了一下基本特征,再用编码实现嘛
用一个符号绘制图形都这样呢
还有用递归呢

#14


jf

#15


public class Test {

    public static void main(String[] args) {
        
        final int line = 7, semi = line / 2;
        
        for(int i = 0, k = line * line; i < k; i++) {
            int row = i / line;
            int col = i % line;
            if(col == 0 && i > 0) {
                System.out.println();
            }
            System.out.print(Math.abs(semi - col) > semi - Math.abs(semi - row) ? '*' : 'a');
        }
    }
}

#16


好扯,顶下。。

#17


引用 15 楼 bao110908 的回复:
Java codepublicclass Test {publicstaticvoid main(String[] args) {finalint line=7, semi= line/2;for(int i=0, k= line* line; i< k; i++) {int row= i/ line;int col= i% line;if(col==0&& i>0) {
            ?-

顶!

#18


                     ▓▓▓▓▓▓▓▓▓▓▓▓                 
            ▓▓▓▓▓█████████████████████▓           
         ▓██████████████████████████████▓         
        █████████████████████████████████▓        
      ▓███████████████████████████████████        
     ▓████████████████████████████████████▓       
    ███████████████████████████████████████       
   ▓███████████████████████████████████████▓      
  ▓█████████████████████████████████████████      
  ██████████████████████████████████████████▓     
  ▓█████████████████████████████████████████▓     
  ▓██████████████████████████████████████████     
   ██████████████████████████████████████████     
   ██████████████████████████████████████████     
   ▓████████████████████████████████████████      
   ▓███████████████████████████████████████       
   ▓██████████████████████████████████████▓       
   ███████████████████████████████████████▓       
   ███████████████████████████████████████▓       
   ▓█████████▓▓▓▓█████████████████████████▓       
   ▓██████▓▓█▓  ████▓▓▓▓███████████████████▓      
   ▓████▓▓▓▓█▓ ▓██▓▓████▓▓██████████████████      
   ████▓▓▓▓▓▓  ▓█▓▓███████▓▓█████████████████     
   ███ ▓▓▓███▓   ▓███▓ ▓███▓▓████████████████▓    
   █▓ ▓▓   ████▓▓ ▓ █  █████▓▓▓███████████████▓   
   ▓  ▓  ▓▓▓██████  █████▓█▓▓▓▓▓███████████████▓  
   ▓ ▓▓ ▓▓▓  ▓█████▓▓█▓▓▓▓▓  ▓▓▓▓▓██████████████  
   ▓ ▓▓ ▓▓▓   ▓████████▓ ▓     ▓▓▓█▓██████████▓   
   ▓▓ ▓ ▓▓▓▓   ▓▓████████▓       ▓█▓█▓▓           
    ▓▓▓█  ▓     ▓███████████▓     ██▓             
     ▓▓██  ▓▓   ▓██████████████▓ ▓▓▓              
      ▓▓▓▓▓▓     ██████████████████▓ ▓            
      ▓▓▓▓▓      ▓█████████████████████           
        ▓▓▓       ▓██████████▓▓████████▓          
          ▓        ▓▓██████▓  ▓████████           
           ▓▓▓       ▓▓▓▓▓    ▓████████           
          ▓████▓▓             ▓▓██████▓           
          ▓███████▓              ▓▓▓▓▓            
          █████████▓    ▓▓▓       ▓▓              
         ▓██████████▓    ▓  ▓ ▓▓▓                 
         ████████████▓                            
        ████████████▓▓▓▓▓▓██▓                     
       ▓██████████████▓▓▓████▓                    
       ██████████████████████▓▓                   
      ▓▓▓▓███████████████████▓▓▓▓▓                

#19


那分来了

#20


e jf

#21


#22


看来楼主是新手 捧个场 jf 

#23


很无聊的说!

#24


jfjfjf

#25


继续努力。

#26


wa!!  mark

#27


无聊分。

#28


jf

#29


引用 18 楼 kf156 的回复:
▓▓▓▓▓▓▓▓▓▓▓▓
             ▓▓▓▓▓█████████████████████▓
          ▓██████████████████████████████▓
         █████████████████████████████████▓
       ▓███████████████████████████████████
      ▓████████████████████████████████████▓
     ███████████████████████████████████████
    ▓███████████████████████████████████████▓
   ▓█████████████████████████████████████████
   ██████████████████████████████████████████▓
   ▓█████████████████████████████████████████▓
   ▓██████████████████████████████████████████
    ██████████████████████████████████████████
    ██████████████████████████████████████████
    ▓████████████████████████████████████████
    ▓███████████████████████████████████████
    ▓██████████████████████████████████████▓
    ███████████████████████████████████████▓
    ███████████████████████████████████████▓
    ▓█████████▓▓▓▓█████████████████████████▓
    ▓██████▓▓█▓  ████▓▓▓▓███████████████████▓
    ▓████▓▓▓▓█▓ ▓██▓▓████▓▓██████████████████
    ████▓▓▓▓▓▓  ▓█▓▓███████▓▓█████████████████
    ███ ▓▓▓███▓   ▓███▓ ▓███▓▓████████████████▓
    █▓ ▓▓   ████▓▓ ▓ █  █████▓▓▓███████████████▓
    ▓  ▓  ▓▓▓██████  █████▓█▓▓▓▓▓███████████████▓
    ▓ ▓▓ ▓▓▓  ▓█████▓▓█▓▓▓▓▓  ▓▓▓▓▓██████████████
    ▓ ▓▓ ▓▓▓   ▓████████▓ ▓     ▓▓▓█▓██████████▓
    ▓▓ ▓ ▓▓▓▓   ▓▓████████▓       ▓█▓█▓▓
     ▓▓▓█  ▓     ▓███████████▓     ██▓
      ▓▓██  ▓▓   ▓██████████████▓ ▓▓▓
       ▓▓▓▓▓▓     ██████████████████▓ ▓
       ▓▓▓▓▓      ▓█████████████████████
         ▓▓▓       ▓██████████▓▓████████▓
           ▓        ▓▓██████▓  ▓████████
            ▓▓▓       ▓▓▓▓▓    ▓████████
           ▓████▓▓             ▓▓██████▓
           ▓███████▓              ▓▓▓▓▓
           █████████▓    ▓▓▓       ▓▓
          ▓██████████▓    ▓  ▓ ▓▓▓
          ████████████▓
         ████████████▓▓▓▓▓▓██▓
        ▓██████████████▓▓▓████▓
        ██████████████████████▓▓
       ▓▓▓▓███████████████████▓▓▓▓▓

亚日什么时候跑到J2SE板块来了?J2ME板块问题少了。
你这头像怎么打出来的?

#30


mark

#31


晕,估计没有分了,不过我是初学者,我用了四个,脓的不轻·········

#32


引用 2 楼 ntu_free 的回复:
mark 先生您是想说明什么,我才学JAVA不久,现在正往深处学。

mark先生是想把你标记了

#33


引用 15 楼 bao110908 的回复:
Java codepublicclass Test {publicstaticvoid main(String[] args) {finalint line=7, semi= line/2;for(int i=0, k= line* line; i< k; i++) {int row= i/ line;int col= i% line;if(col==0&& i>0) {
            ?-

按着这个思路来,虽然火龙大哥的图有点不美观,不过你可以调整下

#34


这个不是初学时写的东西吗

#35


学习

#36


引用 29 楼 pjw100 的回复:
亚日什么时候跑到J2SE板块来了?J2ME板块问题少了。
你这头像怎么打出来的?


偶尔来J2SE板块学习下。
用eclipse控制台输出的

#37


引用 5 楼 bearkin 的回复:
如果是回答面试题的话 哥们 你G了。。

实际上这个只需要一个参数 不是菱形的高度就是宽度(虽然可能打印出来的是正方形 但是 菱形的话 也只是看你打印的时候该如何打印)


#38


学习了

#39


还版权  汗   今天张见识了我

#40


拿分?

#41


嘎嘎,飘过

#42


学写下

#43


路过

#44


刚刚看到的一个打印菱形的程序
比较下哈:

  public class Test { 

    public static void main(String[] args) { 
        
        final int e = 7, s = e / 2; 
        
        for(int i = 0, k = e * e; i < k; i++) { 
            int row = i / e; 
            int col = i % e; 
            if(col == 0 && i > 0) { 
                System.out.println(); 
            } 
            System.out.print( 
                Math.abs(s - col) > s - Math.abs(s - row) ? ' ' : '*'); 
        } 
    } 
}

#45


这样的题目有意思吗?
我觉得很无聊

#46


纯粹拿分.顺便帮顶

#47


拿分了。拿分了

#48


来个强大的:

public class Test{
  public static void main(String[] args){
    int w=7;
    for(int i=0;i<w*w+w;i++){
      int l=Math.abs(i/(w+1)-w/2);
      int n=w/2-Math.abs(i%(w+1)-w/2);
      if(i%(w+1)==w) System.out.println();
      else System.out.print(n<l?"* ":"O ");
    }
  }
}

#49


这样也可以?学习了。。

#50


校友。。。大几了?我已经毕业了

#1


mark

#2


mark 先生您是想说明什么,我才学JAVA不久,现在正往深处学。

#3


接分了。谢谢。

#4


每天回帖即可获得10分可用分!

#5


如果是回答面试题的话 哥们 你G了。。

实际上这个只需要一个参数 不是菱形的高度就是宽度(虽然可能打印出来的是正方形 但是 菱形的话 也只是看你打印的时候该如何打印)

#6


jf

#7


jf jf

#8


当然能 

#9


jiehun

#10


啊,就这程序还有版权?
说实话,很烂。硬编码,我都没兴趣看。

#11


jf

#12


jf

#13


的确是生拉硬套哦
对着图形,总结了一下基本特征,再用编码实现嘛
用一个符号绘制图形都这样呢
还有用递归呢

#14


jf

#15


public class Test {

    public static void main(String[] args) {
        
        final int line = 7, semi = line / 2;
        
        for(int i = 0, k = line * line; i < k; i++) {
            int row = i / line;
            int col = i % line;
            if(col == 0 && i > 0) {
                System.out.println();
            }
            System.out.print(Math.abs(semi - col) > semi - Math.abs(semi - row) ? '*' : 'a');
        }
    }
}

#16


好扯,顶下。。

#17


引用 15 楼 bao110908 的回复:
Java codepublicclass Test {publicstaticvoid main(String[] args) {finalint line=7, semi= line/2;for(int i=0, k= line* line; i< k; i++) {int row= i/ line;int col= i% line;if(col==0&& i>0) {
            ?-

顶!

#18


                     ▓▓▓▓▓▓▓▓▓▓▓▓                 
            ▓▓▓▓▓█████████████████████▓           
         ▓██████████████████████████████▓         
        █████████████████████████████████▓        
      ▓███████████████████████████████████        
     ▓████████████████████████████████████▓       
    ███████████████████████████████████████       
   ▓███████████████████████████████████████▓      
  ▓█████████████████████████████████████████      
  ██████████████████████████████████████████▓     
  ▓█████████████████████████████████████████▓     
  ▓██████████████████████████████████████████     
   ██████████████████████████████████████████     
   ██████████████████████████████████████████     
   ▓████████████████████████████████████████      
   ▓███████████████████████████████████████       
   ▓██████████████████████████████████████▓       
   ███████████████████████████████████████▓       
   ███████████████████████████████████████▓       
   ▓█████████▓▓▓▓█████████████████████████▓       
   ▓██████▓▓█▓  ████▓▓▓▓███████████████████▓      
   ▓████▓▓▓▓█▓ ▓██▓▓████▓▓██████████████████      
   ████▓▓▓▓▓▓  ▓█▓▓███████▓▓█████████████████     
   ███ ▓▓▓███▓   ▓███▓ ▓███▓▓████████████████▓    
   █▓ ▓▓   ████▓▓ ▓ █  █████▓▓▓███████████████▓   
   ▓  ▓  ▓▓▓██████  █████▓█▓▓▓▓▓███████████████▓  
   ▓ ▓▓ ▓▓▓  ▓█████▓▓█▓▓▓▓▓  ▓▓▓▓▓██████████████  
   ▓ ▓▓ ▓▓▓   ▓████████▓ ▓     ▓▓▓█▓██████████▓   
   ▓▓ ▓ ▓▓▓▓   ▓▓████████▓       ▓█▓█▓▓           
    ▓▓▓█  ▓     ▓███████████▓     ██▓             
     ▓▓██  ▓▓   ▓██████████████▓ ▓▓▓              
      ▓▓▓▓▓▓     ██████████████████▓ ▓            
      ▓▓▓▓▓      ▓█████████████████████           
        ▓▓▓       ▓██████████▓▓████████▓          
          ▓        ▓▓██████▓  ▓████████           
           ▓▓▓       ▓▓▓▓▓    ▓████████           
          ▓████▓▓             ▓▓██████▓           
          ▓███████▓              ▓▓▓▓▓            
          █████████▓    ▓▓▓       ▓▓              
         ▓██████████▓    ▓  ▓ ▓▓▓                 
         ████████████▓                            
        ████████████▓▓▓▓▓▓██▓                     
       ▓██████████████▓▓▓████▓                    
       ██████████████████████▓▓                   
      ▓▓▓▓███████████████████▓▓▓▓▓                

#19


那分来了

#20


e jf

#21


#22


看来楼主是新手 捧个场 jf 

#23


很无聊的说!

#24


jfjfjf

#25


继续努力。

#26


wa!!  mark

#27


无聊分。

#28


jf

#29


引用 18 楼 kf156 的回复:
▓▓▓▓▓▓▓▓▓▓▓▓
             ▓▓▓▓▓█████████████████████▓
          ▓██████████████████████████████▓
         █████████████████████████████████▓
       ▓███████████████████████████████████
      ▓████████████████████████████████████▓
     ███████████████████████████████████████
    ▓███████████████████████████████████████▓
   ▓█████████████████████████████████████████
   ██████████████████████████████████████████▓
   ▓█████████████████████████████████████████▓
   ▓██████████████████████████████████████████
    ██████████████████████████████████████████
    ██████████████████████████████████████████
    ▓████████████████████████████████████████
    ▓███████████████████████████████████████
    ▓██████████████████████████████████████▓
    ███████████████████████████████████████▓
    ███████████████████████████████████████▓
    ▓█████████▓▓▓▓█████████████████████████▓
    ▓██████▓▓█▓  ████▓▓▓▓███████████████████▓
    ▓████▓▓▓▓█▓ ▓██▓▓████▓▓██████████████████
    ████▓▓▓▓▓▓  ▓█▓▓███████▓▓█████████████████
    ███ ▓▓▓███▓   ▓███▓ ▓███▓▓████████████████▓
    █▓ ▓▓   ████▓▓ ▓ █  █████▓▓▓███████████████▓
    ▓  ▓  ▓▓▓██████  █████▓█▓▓▓▓▓███████████████▓
    ▓ ▓▓ ▓▓▓  ▓█████▓▓█▓▓▓▓▓  ▓▓▓▓▓██████████████
    ▓ ▓▓ ▓▓▓   ▓████████▓ ▓     ▓▓▓█▓██████████▓
    ▓▓ ▓ ▓▓▓▓   ▓▓████████▓       ▓█▓█▓▓
     ▓▓▓█  ▓     ▓███████████▓     ██▓
      ▓▓██  ▓▓   ▓██████████████▓ ▓▓▓
       ▓▓▓▓▓▓     ██████████████████▓ ▓
       ▓▓▓▓▓      ▓█████████████████████
         ▓▓▓       ▓██████████▓▓████████▓
           ▓        ▓▓██████▓  ▓████████
            ▓▓▓       ▓▓▓▓▓    ▓████████
           ▓████▓▓             ▓▓██████▓
           ▓███████▓              ▓▓▓▓▓
           █████████▓    ▓▓▓       ▓▓
          ▓██████████▓    ▓  ▓ ▓▓▓
          ████████████▓
         ████████████▓▓▓▓▓▓██▓
        ▓██████████████▓▓▓████▓
        ██████████████████████▓▓
       ▓▓▓▓███████████████████▓▓▓▓▓

亚日什么时候跑到J2SE板块来了?J2ME板块问题少了。
你这头像怎么打出来的?

#30


mark

#31


晕,估计没有分了,不过我是初学者,我用了四个,脓的不轻·········

#32


引用 2 楼 ntu_free 的回复:
mark 先生您是想说明什么,我才学JAVA不久,现在正往深处学。

mark先生是想把你标记了

#33


引用 15 楼 bao110908 的回复:
Java codepublicclass Test {publicstaticvoid main(String[] args) {finalint line=7, semi= line/2;for(int i=0, k= line* line; i< k; i++) {int row= i/ line;int col= i% line;if(col==0&& i>0) {
            ?-

按着这个思路来,虽然火龙大哥的图有点不美观,不过你可以调整下

#34


这个不是初学时写的东西吗

#35


学习

#36


引用 29 楼 pjw100 的回复:
亚日什么时候跑到J2SE板块来了?J2ME板块问题少了。
你这头像怎么打出来的?


偶尔来J2SE板块学习下。
用eclipse控制台输出的

#37


引用 5 楼 bearkin 的回复:
如果是回答面试题的话 哥们 你G了。。

实际上这个只需要一个参数 不是菱形的高度就是宽度(虽然可能打印出来的是正方形 但是 菱形的话 也只是看你打印的时候该如何打印)


#38


学习了

#39


还版权  汗   今天张见识了我

#40


拿分?

#41


嘎嘎,飘过

#42


学写下

#43


路过

#44


刚刚看到的一个打印菱形的程序
比较下哈:

  public class Test { 

    public static void main(String[] args) { 
        
        final int e = 7, s = e / 2; 
        
        for(int i = 0, k = e * e; i < k; i++) { 
            int row = i / e; 
            int col = i % e; 
            if(col == 0 && i > 0) { 
                System.out.println(); 
            } 
            System.out.print( 
                Math.abs(s - col) > s - Math.abs(s - row) ? ' ' : '*'); 
        } 
    } 
}

#45


这样的题目有意思吗?
我觉得很无聊

#46


纯粹拿分.顺便帮顶

#47


拿分了。拿分了

#48


来个强大的:

public class Test{
  public static void main(String[] args){
    int w=7;
    for(int i=0;i<w*w+w;i++){
      int l=Math.abs(i/(w+1)-w/2);
      int n=w/2-Math.abs(i%(w+1)-w/2);
      if(i%(w+1)==w) System.out.println();
      else System.out.print(n<l?"* ":"O ");
    }
  }
}

#49


这样也可以?学习了。。

#50


校友。。。大几了?我已经毕业了