我想知道如何将这个由90度星号制成的城市变成这个城市(所以它实际上看起来像一座城市)

问题描述 投票:0回答:1
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();
        }
     }
}

这是我的代码,然而,它水平打印城市,而我希望它垂直打印。有什么想法吗。

java arrays for-loop if-statement printing
1个回答
1
投票

由于您正在从上到下构建城市(这就是打印的工作方式),您可以跟踪当前的高度,如果在该高度应该有一个星号,则放一个星号,否则每个列都有一个空格。

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是一个有效的例子。

© www.soinside.com 2019 - 2024. All rights reserved.