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

Java 我一行编程代码都不懂

Java 我一行编程代码都不懂,java,Java,这是我为类编写的代码,我在其中声明了将在主类中调用的所有方法。我在编写getAverageValue代码时遇到困难,因为我不知道如何编写 import java.util.Random; public class MyCalculator { private int min; private int max; private int sum; private int average; public int[] generatedRandomData()

这是我为类编写的代码,我在其中声明了将在主类中调用的所有方法。我在编写getAverageValue代码时遇到困难,因为我不知道如何编写

import java.util.Random;

public class MyCalculator
{
    private int min;
    private int max;
    private int sum;
    private int average;

    public int[] generatedRandomData()
    {
        int  inputData[]  =  new int[10];
        Random  generatedRandom  =  new Random();

        for(int i=0; i<10; i++)
        {
            inputData[i]  =  generatedRandom.nextInt(100);
        }
        return  inputData;
    }

    public int getMaxValue (int[] inputData)
    {
        int max;
        max = inputData[0];

        for (int i = 1; i <inputData.length; i++) 
        {
            if(max < inputData[i])
                max = inputData[i];
        }

        return max;
    }

    public int getMinValue (int[] inputData)
    {
        int min;
        min =inputData[0];

        for (int i = 1; i <inputData.length; i++) 
        {
            if(min > inputData[i])
                min = inputData[i];
        }

        return min;
    }

    public int getSumValue (int[] inputData)
    {
        int sum;
        sum =inputData[0];

        for (int i = 1; i <inputData.length; i++) 
        {
            sum+=inputData[i];
        }

        return sum;
    }

    public float getAverageValue (int[] inputData, int getSumValue)
    {
        int average= 0;

        for (int i = 1; i <inputData.length; i++) 
        {
            average = getSumValue/inputData.length;
        }

        return average;

    }

}
编译此代码时,出现以下错误:

incompatible types: int cannot be converted to int[]
                System.out.println("Avg Value: " + calculator.getAverageValue(calculator.getSumValue(inputData), inputData.length));
                                                                                                    ^

Note: Some messages have been simplified;

这是你的原始陈述:

System.out.println("Avg Value: " + calculator.getAverageValue(calculator.getSumValue(inputData), inputData.length));
如果我们将其分开,一次只做一件事,我们会得到:

sum = calculator.getSumValue(inputData);
len = inputData.length;
average = calculator.getAverageValue(sum, len);
text = "Avg Value: " + average;
System.out.println(text);
两者都完成了相同的任务,但是分开来看,它非常冗长。

getAverageValue的签名是

i、 e.该方法期望输入数据为int[]数组,然后是总和的值

你把它叫做

calculator.getAverageValue(calculator.getSumValue(inputData), inputData.length)
i、 e.和的值是一个int-你的编译器抱怨的不兼容类型和输入的数量

正确答案是:

calculator.getAverageValue(inputData, calculator.getSumValue(inputData))
附带说明:您的实现可能与您认为的不同。查看并思考您是否真的需要一个循环。

正确的代码:

System.out.printlnAvg值:+ calculator.getAverageValueinputData,calculator.getSumValueinputData;
关于这行代码,您不了解的是什么?我不了解这部分calculator.getSumValueinputData,inputData.length。当我运行这个类并编译主类时,我得到了一个错误
calculator.getAverageValue(calculator.getSumValue(inputData), inputData.length)
calculator.getAverageValue(inputData, calculator.getSumValue(inputData))