我希望我的直方图像这样显示
但我把它倒过来了
这是我的代码。
public void printHistogram() {
System.out.println("Print histogram");
histogram = new boolean[4][6];
int[] lengthTemp = numberEach(numbers);
for (int u = 0; u < 4; u++) {
for (int m = 0; m < 6; m++) {
if (lengthTemp[m] >= 1) {
histogram[u][m] = true;
lengthTempk[m] -= 1;
}
}
}
for (int s1 = 0; s1 < 4; s1++) {
for (int s2 = 0; s2 < 6; s2++) {
if (histogram[s1][s2]) {
System.out.print("*\t");
} else {
System.out.print(" \t");
}
}
System.out.println("");
}
}
我一直试图扭转它,但我从来没有做对。我发现你只需要将它反转到中间,但我想不通。
数组直方图中的每个真值都代表一颗星。
最佳答案
在数组 histogram
的第一个维度中,第一个索引 0
首先打印在直方图的顶部,而不是底部。
要使您的打印输出正确打印,请从第一个维度 s1
的末尾开始打印,而不是从开头打印。从二维数组的长度中减去 s1
。将您的 s1
for 循环更改为向后迭代。
for (int s1 = 0; s1 < 4; s1++) {
到
for (int s1 = 3; s1 >= 0; s1--) {
关于java - 直方图是颠倒的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35755380/