java - 直方图是颠倒的

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

我一直试图扭转它,但我从来没有做对。我发现你只需要将它反转到中间,但我想不通。

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

最佳答案

在数组 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/

相关文章:

java - 交换过程中 native 内存不断增加

android - 对象内对象与改造

c++ - 搜索参数空间时避免嵌套 for 循环

java - 如何循环遍历 Map 并克隆每个值?

java - 表达式的非法开始 - for 循环

java - 创建一个完全透明的图像

java - 如何从 View 类重复另一个类中的 Activity

java - Selenium 基本程序运行时启动 GC

php - 如果使用 MySQL IN 语句从数组中找不到匹配项,则返回 0

arrays - Ant脚本——分割字符串并通过索引访问