java将垂直直方图打印到控制台
我需要编写一个void方法()“printHistogram(int-bin)”,它可以打印主人关于他们养的狗的直方图。参数是“int bin”,用于将直方图划分为区间。一个用户最多可以养10条狗。因此,考虑bin=5,在这种情况下的间隔将是2,因为10/5=2。因此,间隔为(0-5,5-10)
_
_
_
_ _
0-5 5-10
这意味着4个用户的狗在0到5之间,以此类推。不需要知道狗的计数等方法,我只需要逻辑和算法。我真的需要帮助。谢谢该方法的输出是打印“”下划线并构建垂直直方图
这是我的代码:-
public void drawHistogram(int bin) {
int highestDogs = owners.get(0).countDogs(); //method for getting number of dogs of a user
int intervals = 10/bin;
int temp = 0;
int tempBin = bin;
for (int i =0; i < owners.size(); i++)
{
tempBin = bin;
temp = 0;
do{
System.out.println(i + "iteration" + " " + owners.get(i).countDogs() );
if(owners.get(i).countDogs() >= temp && owners.get(i).countDogs() < tempBin)
{
if( tempBin > bin)
{
System.out.print(" ");
}
System.out.print("_ ");
temp = tempBin;
tempBin = bin + bin;
System.out.println(tempBin);
}
else {
temp = tempBin;
tempBin = bin + bin;
System.out.println(tempBin);
}
}while(tempBin < 11);
System.out.println();
}
}
}
# 1 楼答案
这里是mcve绘制直方图。请注意以下评论:
输出: