u14
This commit is contained in:
parent
d56716ca41
commit
c7e805e9cb
Binary file not shown.
|
@ -3,7 +3,41 @@ import java.util.Scanner;
|
|||
* Klasse zum Berechnen von Winkeln eines Dreiecks
|
||||
*/
|
||||
public class Winkel {
|
||||
|
||||
public static Scanner console = new Scanner(System.in);
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.println("Dieses Programm errechnet die drei Winkel eines Dreiecks.");
|
||||
|
||||
double sideA = getSideInput("a");
|
||||
double sideB = getSideInput("b");
|
||||
double sideC = getSideInput("c");
|
||||
|
||||
System.out.println("alpha = " + determineAngle(sideA, sideB, sideC));
|
||||
System.out.println("beta = " + determineAngle(sideB, sideC, sideA));
|
||||
System.out.println("gamma = " + determineAngle(sideC, sideA, sideB));
|
||||
}
|
||||
/**
|
||||
* Druckt die Eingabeaufforderung fuer eine bestimmte Seite und gibt naechsten
|
||||
* eingegebenen Double zurueck
|
||||
*/
|
||||
public static double getSideInput(String sidename) {
|
||||
System.out.print("Bitte Seitenlänge " + sidename + " eingeben: ");
|
||||
return console.nextDouble();
|
||||
}
|
||||
|
||||
/**
|
||||
* Nutzt den Kosinussatz um aus drei Seitenlaengen den Winkel alpha zwischen b und c zu errechnen
|
||||
* Rueckgabewert ist in Gradmass und mit round1 auf eine Nachkommastelle gerundet
|
||||
*/
|
||||
public static double determineAngle(double a, double b, double c) {
|
||||
return round1(Math.acos((b * b + c * c - a * a)/(2 * b * c)) / Math.PI * 180);
|
||||
}
|
||||
|
||||
/** Rundet eine gegebene Zahl auf eine Nachkommastelle. */
|
||||
public static double round1(double value) {
|
||||
if (Double.isNaN(value)) return value;
|
||||
if (Double.isInfinite(value)) return value;
|
||||
return Math.round(value * 10) / 10.0;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue