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

Java我做错了什么?

Java我做错了什么?,java,methods,error-handling,arguments,undefined,Java,Methods,Error Handling,Arguments,Undefined,我正在使用命令行参数进行此操作: public class Pg253E4 { public static void main(String[]args) { try { System.out.println(Average.average(args)); // This part is saying I don't have a method in Average called average(String[] argName)

我正在使用命令行参数进行此操作:

public class Pg253E4 {
    public static void main(String[]args) {
        try {
            System.out.println(Average.average(args)); // This part is saying I don't have a method in Average called average(String[] argName)
        } catch(NullPointerException e) {
            System.out.println(e.toString());
        } catch(NumberFormatException e) {
            System.out.println(e.toString());
        } finally {
            System.out.println("Nice job");
        }
    }
}
这是另一类:

public class Average {
    public static double average(String[] arrayString) throws NullPointerException,NumberFormatException {
        double sum=0;
        double arrayStorage[] = new double[arrayString.length];

        for(int i = 0; i< arrayString.length; i++) {
            arrayStorage[i] = Double.parseDouble(arrayString[i]);
        }
        for(int i = 0; i<arrayString.length; i++) {
            sum += arrayStorage[i];
        }
        return (sum/arrayString.length);
    }
}
公共类平均值{
公共静态双平均(字符串[]arrayString)引发NullPointerException、NumberFormatException{
双和=0;
double arrayStorage[]=新的双精度[arrayString.length];
对于(int i=0;i对于(int i=0;i尝试在主类中创建一个
Average
类型的新对象。为此,在主方法上写下以下行:
Average a=新的平均值();

然后将您的
System.out.println(Average.Average(args))
更改为

System.out.println(a.average(args))
如果您不使用软件包,则需要确保将
average
导入到您的
Pg253E4
类中:

import Average; // Assuming "Average" is not in a package.

public class Pg253E4
{
    // The rest of your stuff
}
但最好至少使用一个软件包:

package yourpackage;

public class Pg253E4
{
    // The rest of your stuff
}

package yourpackage;

public class Average
{
    // The rest of your stuff
}
如果
Pg253E4
Average
没有足够的共同点,不能放在同一个包中,那么它们都应该放在各自的包中,在这种情况下,您必须再次将
Average
导入
Pg253E4

package yourfirstpackage;

import yoursecondpackage.Average;

public class Pg253E4
{
    // The rest of your stuff
}

package yoursecondpackage;

public class Average
{
    // The rest of your stuff
}

类路径中是否为平均值?
Average
是否与
Pg253E4
在同一个包中?如果未将
Average
导入到
Pg253E4
,则不必创建类型为
Average
的对象,方法
Average.Average()
是静态的。它们位于同一个包(默认包)中Java在使用默认包时有访问类和方法的问题。读取和。几乎总是建议使用包,而不是默认包。正确使用包,您将不必按照所选答案的指示实例化一个类来访问它的一个静态方法你需要做些什么。