【问题标题】:Histogram is upside down直方图倒置
【发布时间】:2016-06-15 18:54:06
【问题描述】:

我希望我的直方图显示为这样

但是我把它颠倒过来了

这是我的代码。

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

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

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

【问题讨论】:

    标签: java arrays for-loop boolean histogram


    【解决方案1】:

    反转数组的读取:

    for (int s1 = 3; s1 >= 0; s1--) {
       ...
    }
    

    【讨论】:

      【解决方案2】:

      在数组histogram 的第一个维度中,第一个索引0 首先打印在直方图的顶部,而不是底部。

      要让您的打印输出正确打印,请从第一个维度 s1 的末尾打印,而不是从开头打印。从二维数组的长度中减去s1。更改您的 s1 for 循环以向后迭代。

      for (int s1 = 0; s1 < 4; s1++) {
      

      到

      for (int s1 = 3; s1 >= 0; s1--) {
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-15
        • 1970-01-01
        • 2023-03-15
        • 1970-01-01
        • 1970-01-01
        • 2012-07-29
        相关资源
        最近更新 更多