如何确定直方图要水平打印而不是垂直打印?

时间:2019-03-30 12:10:53

标签: java histogram

我试图从数组中打印直方图,但是当我运行它时,它变成一条垂直线,而不是由文章分隔的水平线。我在哪里需要修复或添加更多代码来解决此问题?

例如,有一个数组

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 |****************

但它打印了一条垂直线

1 个答案:

答案 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();
    }
}