我希望我的直方图显示如下
但我像这样颠倒了它
这是我的代码。
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("");
}
}
我一直试图扭转它,但我从来没有做对。我发现你只需将它反转到中间但我无法弄明白。
数组直方图中的每个真值代表一颗星。
答案 0 :(得分:2)
在数组histogram
的第一维中,首先打印第一个索引0
,位于直方图的顶部,而不是底部。
要正确打印打印件,请从第一个尺寸s1
的末尾打印,而不是从头开始打印。从2D数组的长度中减去s1
。将s1
for循环更改为向后迭代。
for (int s1 = 0; s1 < 4; s1++) {
到
for (int s1 = 3; s1 >= 0; s1--) {
答案 1 :(得分:1)
反转数组的读数:
"C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\gacutil.exe" /if "$(TargetFileName)"