From c7e805e9cbf4609fbca914e0d75583ab82cc50b6 Mon Sep 17 00:00:00 2001 From: Luca Conte Date: Thu, 10 Nov 2022 17:55:07 +0100 Subject: [PATCH] u14 --- uebungen/u14/Winkel.class | Bin 0 -> 1685 bytes uebungen/u14/Winkel.java | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 uebungen/u14/Winkel.class diff --git a/uebungen/u14/Winkel.class b/uebungen/u14/Winkel.class new file mode 100644 index 0000000000000000000000000000000000000000..5a315778bd6633bdb2bea57948a5b89cbefe8442 GIT binary patch literal 1685 zcmaJ>T~pge6g>i4l7%2(OhTHb6-+QPEztBUIp34enzYvC@QIEM9h*9~bljKG+bQCo8koRm z>N0nbKLf9zpkYT{PK~|X$xn}}%lkic5F4Kx*u?`me4#Gih?nDtJq-_KUXLW%mm0p( z@U;TX4g5w>6$*wo4xPu&Y%}tzvjx}jeGx7wP!~Pli*76EwR5`)5_f_UeJ^czzSwHk ziXz-`iZVJ;b39+cW&2T^rt0|R*+LY0etAI#nq?6cypmY+>&-~Ph<$-uUco>~L?Wz_ zeZ?Pj;5m_ZqSfx;SRy*1f%&1}Ixgy+3 zV@5;Kgo}~_g`{ue9U4XcT?JR-Ds~-zwdqw$B2=I|)%t;BEm*Vu8kIF}^!9I3ry z80o$i%*os+efnD%XyFngy5K>=L?{0P9wJOM*A1VgH_lY#)27430Q!;PcnyP?#}M|A z#uE%PbzZej>MQ7tPdU+*K$<&D@t+>%5T}xzoO8V=sC?$Hd+dvd5VG R4I^h2Z0Djei}{#&;css7XzBm} literal 0 HcmV?d00001 diff --git a/uebungen/u14/Winkel.java b/uebungen/u14/Winkel.java index 5baacf7..4c7ab79 100644 --- a/uebungen/u14/Winkel.java +++ b/uebungen/u14/Winkel.java @@ -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; } }