2013-02-20 61 views
-4

如何做到这一点。垂直安排星号使用java .. plz帮助我。基于数组上的值。恩。 {3,4,2,5}如何在示例中显示输出。带星号的垂直排列

sample output

+0

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html – Achrome 2013-02-20 09:09:58

+0

那你试试? – LGAP 2013-02-20 09:10:43

+0

我试过这个。 http://www.dreamincode.net/forums/topic/148746-java-simple-histogram/这个概念是对的,但我在如何显示垂直输出方面遇到了麻烦。 – user2090420 2013-02-20 09:43:26

回答

1

对于每一行,您打印新的生产线。

所以在第一行具有值大于4 下一行得到一个明星为具有大于3

等值每列的列得到一个明星的。当然,没有得到明星的专栏必须排成一行。

1
int[] a = new int[] {3,4,2,5}; 
int[] tmp = a.clone(); 

Arrays.sort(tmp); 
int max = tmp[tmp.length-1]; 

for (int i = 0; i < max+1; i++) { 
    for (int j = 0; j < a.length; j++) {   
     if (i == max) { 
      System.out.print(a[j]); 
     } else {   
      if (i < max - a[j]) 
       System.out.print(" "); 
      else 
       System.out.print("*"); 
     } 
    } 
    System.out.println(); 
}