我试图使直方图垂直显示,我的输出给出了不正确的模式。
输入:
unqNums = [0.0, 2.0, 1.0, 5.0]
repeated = [2, 2, 1, 1]
输出:
* *
* * * *
0.0, 2.0, 1.0, 5.0
我的代码:
System.out.println(Arrays.toString(gradesNoRepead));
//[0.0, 2.0, 1.0, 5.0]
System.out.println(Arrays.toString(repeatedVal));
//[2, 2, 1, 1]
//getting the max rep
int mxRep = Main.getMax(repeatedVal);
for(int i = mxRep; i > 0; --i){
for(int l=0; l<gradesNoRepead.length; ++l){
System.out.print((gradesNoRepead[l] >= i) ? " * " : " ");
}
System.out.println();
}
for (int m = 0; m < gradesNoRepead.length; m++) {
System.out.print(" " + gradesNoRepead[m] + " ");
}
1条答案
按热度按时间cngwdvgl1#
你的问题是,在你的循环中,你输出
*
值,则迭代并测试错误数组中的值(gradesNoRepead
),您应该使用repeatedVal
:请注意,您还需要在输出字符串中增加一些空格,以使它们与字符串的宽度正确匹配
gradesNoRepead
价值观。