Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.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_Java.util.scanner_Mean_Standard Deviation - Fatal编程技术网

Java 控制台中没有结果,很可能是逻辑错误

Java 控制台中没有结果,很可能是逻辑错误,java,arrays,java.util.scanner,mean,standard-deviation,Java,Arrays,Java.util.scanner,Mean,Standard Deviation,我对OOP还比较陌生,出于某种原因,IntelliJ和Eclipse的控制台没有在控制台中为下面的程序提供输出。我试图使用扫描仪将12个数字存储到一个数组中,并找到标准偏差、平均值、最低数字和最高数字。有人能看出哪里不对劲吗 import java.util.Arrays; import java.util.Scanner; public class untitled { public static void main(String[] args) { Scan

我对OOP还比较陌生,出于某种原因,IntelliJ和Eclipse的控制台没有在控制台中为下面的程序提供输出。我试图使用扫描仪将12个数字存储到一个数组中,并找到标准偏差、平均值、最低数字和最高数字。有人能看出哪里不对劲吗

import java.util.Arrays;
import java.util.Scanner;

public class untitled
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        int[] grades = new int[12];
        int size = grades.length;
        for (int i = 0; i < size; i++)
        {
        grades[i] = in.nextInt();
        }

        Arrays.sort(grades);
        int low = grades[0];
        int high = grades[11];
        int sum = 0;
        for (int i: grades)
        {
            sum += i;
        }
        int m = sum / size;

        double var = 0;
        double variance;
        double sd;

        for (int i = 0; i < size; i++)
        {
            var = var + ((grades[i] - m) * (grades[i] - m));
        }
        variance = (int) var / size;
        sd = Math.pow(variance,.5);


        String lowest = ("Lowest Grade:" + low);
        String highest = ("Highest Grade:" + high);
        String average = ("Average Grade:" + m);
        String standdev = ("Standard Dev.:" + sd);

        System.out.println(lowest);
        System.out.println(highest);
        System.out.println(average);
        System.out.println(standdev);
    }
}
导入java.util.array;
导入java.util.Scanner;
公共类无标题
{
公共静态void main(字符串[]args)
{
扫描仪输入=新扫描仪(系统输入);
整数[]等级=新整数[12];
int size=等级。长度;
对于(int i=0;i

谢谢。

您所做的就是接受12个输入。。尝试在控制台中输入12个输入,然后将显示您的输出

是的,这似乎没有使用面向对象的概念。有关OOPS的更多信息,请参阅此链接:


问题是,您需要先输入值,然后才能继续计算和输出。如果控制台上没有一些打印文本(如“输入新号码:”),控制台将保持空状态

您可以输入12个数字,也可以用
Random
值自动填充列表。在这种情况下,输出将立即在控制台上可见

...
nt[] grades = new int[12];
int size = grades.length;

Random random = new Random();
for (int i = 0; i < size; i++) {
    grades[i] = random.nextInt(15); // value between 0 and 14
}

Arrays.sort(grades);
int low = grades[0];
...
。。。
新界[]等级=新国际[12];
int size=等级。长度;
随机=新随机();
对于(int i=0;i
您得到了什么输出?我已经清楚地看到了您的输出。是的,代码运行良好。请注意:这看起来一点都不像OOP。好吧,看起来我显然没有使用任何OOP概念,但我现在只是在学习如何编程,而OOP正是我努力的方向。看来我有很多东西要学,我感谢你们所有人帮助我。我的意思是,当我运行上面的代码时,控制台中没有输出。控制台什么也不产生。啊,我是个白痴。由于控制台没有“输入一个新的数字”语句,我甚至没有考虑把数字放入控制台,因为当单击Run时,控制台不会自动出现。非常感谢。我意识到我的错误,我太愚蠢了。