[英]How to call void method in different class?
public class Equation {
public static void quadEquation(double a, double b, double c) {
double solution1 = (-b + (Math.pow(b,2)-(4*a*c))/(2 * a));
double solution2 = (-b - (Math.pow(b,2)-(4*a*c))/(2 * a));
}
}
我必须通过调用它们在不同的类(测试人员)上打印solution1和soltion2 。
这是一个void
方法调用,因此它不返回任何内容。
在这种情况下,我如何在测试器中调用它们?
家庭作业! 这只是我作业的一部分,所以你们可以免费帮助这个
我解决了! 谢谢你们帮助我:)
这就是您在另一个类中调用static void
方法的方式。
== 文件练习/Equation.java ==
package exercise;
public class Equation {
public static void quadEquation(double a, double b, double c) {
double solution1 = (-b + (Math.pow(b,2)-(4*a*c))/(2 * a));
double solution2 = (-b - (Math.pow(b,2)-(4*a*c))/(2 * a));
// If you want to print the solutions, add some print
// statements here!
}
}
== 文件 OtherClass.java ==
import exercise.Equation;
public class OtherClass {
public static void main(String[] args) {
Equation.quadEquation(1.0, 2.0, 3.0); // calls the method in Equation
}
}
您应该能够从命令行编译和运行上述内容,如下所示。
$ # change directory to directory containing "OtherClass.java"
$ javac -cp . exercise/Equation.java OtherClass.java
$ java -cp . OtherClass
关键是:
如果要在另一个类中使用Equation
,最好在Java 包中声明该类。
然后,你需要import
的Equation
为其他类。 (如果两个类都在同一个包中,这不是必需的。)
显然, void
方法不能返回任何内容。 因此,如果您想从quadEquation
方法中获得一些输出,则该方法需要自行打印它。
请注意,上一点中描述的方法通常是浇筑设计选择。 您通常不想像那样混合代码的“关注点”。 您通常希望将计算和输出结果视为单独的问题。 例如,您可能希望quadEquation
方法可用于在其他地方输出一个或多个解决方案的上下文中……或根本不输出。
其他事情:
如果这应该找到二次方程的根,那么您没有正确编码公式。 那里应该有一个“平方根”; 见https://en.wikipedia.org/wiki/Quadratic_formula 。
您还需要考虑解为虚数的情况。 (除非你被告知忽略这一点......)
我看到你评论说另一个班级是司机。 这可能会使上面的示例无效。 您将不得不阅读驱动程序类的代码(或类的描述),以了解它将如何调用您的类。 很可能你的老师已经为你解决了调用quadEquation
的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.