[英]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.