我需要重寫一個java程序我已經完成了,現在包括一個類,我將能夠使用JUnit4進行測試。不幸的是,我甚至無法得到這一點,因爲我收到一個錯誤。這是一個非常簡單的程序,我要求用戶輸入3個數字,將這些值傳遞給執行一些計算的函數,並返回帶有返回值的打印語句。我讓它在沒有這個功能的情況下工作,我在語法上遇到了麻煩,並且完全理解我可以做什麼以及不能做什麼。令人沮喪的語法將值傳入方法的問題
這就是:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner kybd = new Scanner(System.in);
System.out.println("Given ax^2 + bx^2 + c = 0");
System.out.println("Please enter 'a', 'b', and 'c' to determine if there are any roots: ");
float numA = kybd.nextFloat();
float numB = kybd.nextFloat();
float numC = kybd.nextFloat();
quadraticAnswer(numA, numB, numC);
}
public static void float quadraticAnswer (float numA, float numB, float numC){
float discriminant = ((numB*numB)-(4*numA*numC));
if (discriminant < 0){
System.out.println("The Equation has no roots!");
}
else if (discriminant ==0) {
float root = (-numB + Math.sqrt(discriminant))/(2*numA);
System.out.println("The Equation has one root: "+ root);
}
else {
float root1 = (-numB + Math.sqrt(discriminant))/(2*numA);
float root2 = (-numB - Math.sqrt(discriminant))/(2*numA);
System.out.println("The Equation has two roots: " + root1 + " and " + root2 + ".");
}
}
}
如果您收到錯誤,那是因爲您做錯了什麼。如果您希望我們更具體地瞭解您做錯了什麼,請更具體地說明您得到的錯誤。請不要在沒有告訴我們錯誤是什麼的情況下發布「我有錯誤」的問題。 – ajb
如果判別式爲0,則不需要取其平方根。 – Li357
這個問題是關於Java的最基本的問題,真正的解決方案不是在這裏詢問這些事情,而是研究語言的基本原理。如果你不採取這一重要步驟,你會面臨很多痛苦和沮喪。 –