【问题标题】:How to fix histogram to be printed out horizontally instead of vertically?如何修复直方图水平打印而不是垂直打印?
【发布时间】:2019-03-30 12:10:52
【问题描述】:

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

比如有一个数组

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

但它打印了一条垂直线

【问题讨论】:

    标签: java histogram


    【解决方案1】:

    打印一天直方图后需要换行,见代码:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-15
      • 2017-08-19
      • 2014-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多