|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- import java.util.Scanner;
-
- public class TriangleChecker {
-
- public enum TriangleType {
- NONE,
- NORMAL,
- ISOSCELES, // Gleichschenklig
- EQUILATERAL // Gleichseitig
- }
-
-
- public static void main(String[] args) {
- Scanner s = new Scanner(System.in);
- System.out.println("Geben Sie die Seitenlängen ein.");
- float a = enterFloat(s, "a: ");
- float b = enterFloat(s, "b: ");
- float c = enterFloat(s, "c: ");
- s.close();
- printAnalysis(a, b, c);
- }
-
- // Eingabe einer Seitenlänge
- private static float enterFloat(Scanner s, String prompt) {
- System.out.print(prompt);
- return s.nextFloat();
- }
-
- // Ausgabe der ermittelten Dreiecksart
- private static void printAnalysis(float a, float b, float c) {
- TriangleType type = checkTriangle(a, b, c);
- switch (type) {
- case NONE:
- System.out.println("Kein Dreieck");
- break;
- case NORMAL:
- System.out.println("Dreieck");
- break;
- case ISOSCELES:
- System.out.println("Gleichschenkliges Dreieck");
- break;
- case EQUILATERAL:
- System.out.println("Gleichseitiges Dreieck");
- break;
- }
- }
-
- // Analyse der Dreiecksart
- public static TriangleType checkTriangle(float a, float b, float c) {
-
- if (a <= 0 || b <= 0 || c <= 0 || a + b < c || a + c < b || b + c < a)
- // kein Dreieck
- return TriangleType.NONE;
-
- if (a + b > c || a + c > b || b + c > a) {
- // gleichseitiges Dreieck
- if (a == b && b == c) {
- return TriangleType.EQUILATERAL;
- }
- if (a == b || b == c || a == c) {
- // gleichschenkliges Dreieck
- return TriangleType.ISOSCELES;
- }
- // normales Dreieck
- return TriangleType.NORMAL;
- }
-
- // kein Dreieck
- return TriangleType.NONE;
- }
- }
|