我最近在這裏發佈,但我需要幫助(我很新)我得到了第一部分(SSS),但它的第二部分我需要幫助,我沒有了解如何把A²=稱b²+C² - 2BC小築在與罪惡b/b = SIN A/A這裏是我的代碼:Java-需要公式的幫助
import java.util.Scanner;
public class CosineLaw {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
boolean sss = new Boolean(true);
System.out.println("Are you working with an SSS?[y/n]");
char askingSSS =keyboard.next().charAt(0);
if(askingSSS == 'y'){
System.out.println("Please enter an a side value:");
double a = keyboard.nextDouble();
System.out.println("Please enter a b side value:");
double b = keyboard.nextDouble();
System.out.println("Please enter a c side value:");
double c = keyboard.nextDouble();
double answerA = Math.toDegrees(Math.acos((b*b+c*c-a*a)/(2*b*c)));
double answerB = Math.toDegrees(Math.acos((c*c+a*a-b*b)/(2*c*a)));
double answerC = Math.toDegrees(Math.acos((b*b+a*a-c*c)/(2*b*a)));
System.out.println("A: " + answerA);
System.out.println("B: " + answerB);
System.out.println("C: " + answerC);
}else if(askingSSS == 'n'){
System.out.println("Are you working with SAS?[y/n]");
char askingSAS =keyboard.next().charAt(0);
System.out.println("Please enter the 2 sides and 1 angle:");
char twoSideOneAngle =keyboard.next().charAt(0);
if(askingSAS == 'y'){
System.out.println("Please enter an angle for a:");
double a = keyboard.nextDouble();
System.out.println("Please enter a side value for b:");
double b = keyboard.nextDouble();
System.out.println("Please enter a side value for c:");
double c = keyboard.nextDouble();
double answerA = Math.cos(Math.toDegrees(b*b+c*c-2*b*c)*(a));
double answerB = Math.sin(Math.toDegrees(sin b/b = sin a/a));
double answerC = (b*b+a*a-c*c)/(2*b*a);
System.out.println("A: " + answerA);
System.out.println("B: " + answerB);
System.out.println("C: " + answerC);
}
}
}
}
sinB/b與一個不同。 B是指角度,其中b是邊長。此外,即使B和b相同(即10),答案也不是1(例如,以sin(10)/ 10)。 – Maria
它可以工作,但是我使用的SAS的類型是= 49度,b = 5,c = 7。它給我49.26而不是45.4。 :\ – user2809115
嘗試更新的答案。 – msj121