java - 我想知道如何用星号将这个城市变成 90 度(所以它实际上看起来像一个城市)
问题描述
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--;
}
这是一个工作示例。
推荐阅读
- python - 在 Azure Databricks 中按范围内的值分组
- javascript - preg 匹配 html 到变量 php 获取值范围
- excel - 对学习 DAX for Power Pivot 的好资源的建议
- presto - 如何在 Presto 中执行多条语句?
- xamarin.forms - ClassNotFoundException: PowerSaveModeBroadcastReciever
- java - 无法打开应用,因为它来自身份不明的开发者
- python - 如何将分离的部分(来自 k-means 聚类)保存为不同的 Dataframe
- node.js - 如何从反应客户端向运行在 Heroku 平台上的表达服务器发出 API 请求
- html - 使网格根据需要添加新列
- html - 了解表属性的特殊性