Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何垂直打印一些数字对应的星号?_Java_Arrays_Histogram - Fatal编程技术网

Java 如何垂直打印一些数字对应的星号?

Java 如何垂直打印一些数字对应的星号?,java,arrays,histogram,Java,Arrays,Histogram,我试图使直方图垂直显示,我的输出给出了错误的模式 输入: unqNums = [0.0, 2.0, 1.0, 5.0] repeated = [2, 2, 1, 1] 输出: * * * * * * 0.0, 2.0, 1.0, 5.0 我的代码: System.out.println(Arrays.toString(gradesNoRepead)); //[0.0, 2.0, 1.0, 5.0] System.out.println(Arrays.toStri

我试图使直方图垂直显示,我的输出给出了错误的模式

输入:

unqNums = [0.0, 2.0, 1.0, 5.0]
repeated = [2, 2, 1, 1]
输出:

*    *
*    *    *    *
0.0, 2.0, 1.0, 5.0
我的代码:

 System.out.println(Arrays.toString(gradesNoRepead));
 //[0.0, 2.0, 1.0, 5.0]
 System.out.println(Arrays.toString(repeatedVal));
 //[2, 2, 1, 1]
//getting the max rep
        int mxRep = Main.getMax(repeatedVal);
        for(int i = mxRep; i > 0; --i){
            for(int l=0; l<gradesNoRepead.length; ++l){
        
                System.out.print((gradesNoRepead[l] >= i) ? " * " : "  ");
            }
            System.out.println();
        }
        for (int m = 0; m < gradesNoRepead.length; m++) {
            System.out.print(" " + gradesNoRepead[m] + " ");
    }
    
System.out.println(Arrays.toString(gradesNoRepead));
//[0.0, 2.0, 1.0, 5.0]
System.out.println(Arrays.toString(repeatedVal));
//[2, 2, 1, 1]
//获得最大代表
int mxRep=Main.getMax(repeatedVal);
对于(int i=mxRep;i>0;--i){
对于(int l=0;l=i)?“*”:”;
}
System.out.println();
}
对于(int m=0;m
您的问题是,在输出
*
值的循环中,您迭代并测试了错误数组中的值(
gradesNoRepead
),您应该使用
repeatedVal

for(int l=0; l<repeatedVal.length; ++l){
    System.out.print((repeatedVal[l] >= i) ? "  *  " : "     ");
}
for(int l=0;l=i)?"  *  " : "     ");
}
请注意,您还需要在输出字符串中添加一些空格,以使它们与
gradesNoRepead
值的宽度正确匹配