我需要写一个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();
}
}
}
答案 0 :(得分:0)
这是绘制直方图的mcve。请注意评论:
getData() {
return this.http.post(this.base_URL + "web_app/login/", JSON.stringify(this.login));
}
输出: