public class HelloWorld
{
public static void main(String []args)
{
int[] arr = {5,10,23,6,9};
for(int i = 0; i<arr.length; i++)
{
for( int j = 0; j< arr[i]; j++)
{
System.out.print("*");
}
System.out.println();
}
}
}
这是我的代码,然而,它水平打印城市,而我希望它垂直打印。有什么想法吗。
由于您正在从上到下构建城市(这就是打印的工作方式),您可以跟踪当前的高度,如果在该高度应该有一个星号,则放一个星号,否则每个列都有一个空格。
int[] arr = {5,10,23,6,9};
int max = 23; //you should do this dynamically in the general case
while(max > 0) {
for(int i = 0; i < arr.length; i++) {
if(arr[i] >= max) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
max--;
}
Here是一个有效的例子。