好的,所以我有一个家庭作业,我很难在另一个班级的主班上调用一个方法。
基本上“test”方法在landEnclosure.java类中,我试图在我的主类上调用它,即landAndEat.java
他们都在同一个包装内:
这是我试图调用该方法的主要类:
public class landAndEat {
public static void main(String[] args) {
test();
} //end class
} //end main
这是创建方法的类:
import java.util.Scanner;
public class landEnclosure {
public void test() {
double area, ratioA = 0, ratioB = 0, x, l, w, perimeter;
Scanner input = new Scanner(System.in);
System.out.println("What area do you need for your enclosure in square feet?");
area = input.nextDouble();
if( area > 0 && area <= 1000000000) { //Input specification 1
System.out.println("What is the ratio of the length to the width of your enclosure?");
ratioA = input.nextDouble();
ratioB = input.nextDouble();
}
else
System.out.println("It needs to be a positive number less than or equal to 1,000,000,000!");
if(ratioA > 0 && ratioA < 100 && ratioB > 0 && ratioB < 100) { //Input specification 2
x = Math.sqrt(area/(ratioA*ratioB));
l = ratioA * x;
w = ratioB * x;
perimeter = (2 * l) + (2* w);
System.out.println("Your enclosure has dimensions");
System.out.printf("%.2f feet by %.2f feet.\n", l, w);
System.out.println("You will need " + perimeter + " feet of fence total");
}
else
System.out.println("The ratio needs to be a positive number!");
}
} //end class
答案 0 :(得分:3)
在java中,唯一的顶级“东西”是类(以及类似的东西,如接口和枚举)。功能不是顶级“事物”。它们只能存在于类中。因此,要调用它,您需要通过该类,或通过该类的对象。
从您编写的代码来看,测试似乎是一种非静态方法。在这种情况下,您需要从该类创建一个对象,并在其上运行该方法:
landEnclosure l = new landEnclosure();
l.test();
但是,您的意图似乎是“测试”是一种静态方法。在这种情况下,将其声明为静态并以此方式调用它:
landEnclosure.test();
另外,Java中的约定是首先用大写命名类:
class LandEnclosure {
答案 1 :(得分:0)
除了创建landEnclosure
新实例的明显建议外,您还可以制作function
static
并致电:
landEnclosure.test();