我试图从数组中打印直方图,但是当我运行它时,它变成一条垂直线,而不是由文章分隔的水平线。我在哪里需要修复或添加更多代码来解决此问题?
例如,有一个数组
int[]degree= {15,16,17,18,19}
还有另一个数组
String[]day={'mon','tue','wed','thur','fri'}
它应该打印出显示当天程度的直方图
mon |***************
tue |****************
像这样。 (5条不同的水平线)
但是,相反,当我操作我的代码时,它打印为 星期一| * * * * 。 。 。 星期二| 。 。
在一条垂直线上(我是垂直输入的,但在此处结果屏幕上显示的不是垂直线)
这是我的代码的一部分
public static void printHistogram(int[]array)
{
String[] day = {"mon","tue","wed","thur","fri"};
System.out.println("Histogram of temperatures");
System.out.println("-------------------------");
for(int i=0;i < day.length;i++)
{System.out.print(day[i]+"\t"+"|");
这是问题所在
if(day[i]=="mon")
{for(int j=0;j< array[j]; j++)
System.out.print("*");}
}
如果我继续星期五,它将打印一条直方图垂直线,从星期一到星期五的数据一并显示。
我应该在哪里修复以获得所需的结果?
我希望它可以打印出类似
的直方图mon |***************
tue |****************
但它打印了一条垂直线
答案 0 :(得分:0)
打印一天的直方图后,需要换行,请参见代码:
public static void printHistogram(int[]array) {
//int[]array = {15,16,17,18,19};
String[] day = {"mon","tue","wed","thur","fri"};
System.out.println("Histogram of temperatures");
System.out.println("-------------------------");
for(int i=0;i < day.length;i++)
{
System.out.print(day[i]+"\t"+"|");
for(int j=0;j< array[i]; j++)
System.out.print("*");
System.out.println();
}
}