日期:2014-05-20  浏览次数:20660 次

初学java不久,请教大家,怎样用java打印出空心菱形???
初学java不久,请问怎样用循环打印出空心菱形?

------解决方案--------------------
二维数组
------解决方案--------------------
这个问题不能算是Java的问题,只是纯粹的算法问题。
代码:
public class rhombus{
public static void main(String[] args) {
int len; //菱长
String outstr=new String(); //输出
int i,j,x,y;
try{len=Integer.parseInt(args[0]);}
catch(Exception e){len=9;}

for(i=0;i <=len*2;i++){
for(j=0;j <=len*2;j++){
x=len-i;
x=x <0?-1*x:x;
y=len+(len-x);
outstr+=(j==x||j==y? "◆ ": "  ");
}
outstr+= "\n ";
}
System.out.println(outstr);
}
}
运行结果:
E:\java> javac rhombus.java

E:\java> java rhombus
         ◆         
        ◆ ◆        
       ◆   ◆       
      ◆     ◆      
     ◆       ◆     
    ◆         ◆    
   ◆           ◆   
  ◆             ◆  
 ◆               ◆ 
◆                 ◆
 ◆               ◆ 
  ◆             ◆  
   ◆           ◆   
    ◆         ◆    
     ◆       ◆     
      ◆     ◆      
       ◆   ◆       
        ◆ ◆        
         ◆         


E:\java> java rhombus 3
   ◆   
  ◆ ◆  
 ◆   ◆ 
◆     ◆
 ◆   ◆ 
  ◆ ◆  
   ◆   


E:\java>
------解决方案--------------------
为了搞点分还真TM不容易啊
------解决方案--------------------
太简单了
------解决方案--------------------
String outstr=new String(); //输出

用StringBuffer应该会更好
------解决方案--------------------
mark,挺有趣
------解决方案--------------------
to: nanyang9(奋斗…)
算法真巧!
to: lz
nanyang9(奋斗…) 回答得那么棒、多仔细,除了源代码,连算法说明都给了,可以人家给分了。好不平哦!
------解决方案--------------------
哈哈哈哈哈哈。。。。。。

public class rhombus{
public static void main(String[] args) {
System.out.println(         ◆         );
System.out.println(        ◆ ◆        );
System.out.println(       ◆   ◆       );
System.out.println(      ◆     ◆      );
System.out.println(     ◆       ◆     );
System.out.println(    ◆         ◆    );
System.out.println(   ◆           ◆   );
System.out.println(  ◆             ◆  );
System.out.println( ◆               ◆ );
System.out.println(◆                 ◆);
System.out.println( ◆               ◆ );
System.out.println(  ◆             ◆  );
System.out.println(   ◆           ◆   );
System.out.println(    ◆         ◆    );
System.out.println(     ◆       ◆     );
System.out.println(      ◆     ◆      );
System.out.println(       ◆   ◆       );
System.out.println(        ◆ ◆        );
System.out.println(         ◆         );
}
}

------解决方案--------------------
◇◆
用拼音加加打的
------解决方案--------------------
用取绝对值的方法:
import java.util.Scanner;
public class F{
public static void main(String[] args){
Scanner s = new Scanner(System.in);