直方图是颠倒的

时间:2016-03-02 18:34:31

标签: java arrays for-loop boolean histogram

我希望我的直方图显示如下

example

但我像这样颠倒了它

example2

这是我的代码。

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("");
    }
}

我一直试图扭转它,但我从来没有做对。我发现你只需将它反转到中间但我无法弄明白。

数组直方图中的每个真值代表一颗星。

2 个答案:

答案 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)"