[英]Java what did I do wrong here?
我为此使用命令行参数:
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);
}
}
我不明白为什么突然弹出一个语法错误,说我没有明确声明或定义Average
类中的任何方法,该方法Average
在Average
类中声明average(String[] argName)
。
尝试在主类中创建一个Average
类型的新对象。 为此,请在您的main方法上编写以下行:
Average a = new Average();
然后将您的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
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.