12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- import java.util.Arrays;
- 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) {
- //find Hypotenuse
- float[] tmp = {a, b, c};
- Arrays.sort(tmp);
- float hypo = tmp[2];
- float a1 = tmp[0];
- float b1 = tmp[1];
-
-
- //normal
- if (a1 + b1 > hypo) {
-
- //gleichseitig
- if (a1 + b1 + hypo == 3 * a1)
- return TriangleType.EQUILATERAL;
-
- //gleichschenklig
- if (a1 == b1 || b1 == hypo || a1 == hypo)
- return TriangleType.ISOSCELES;
-
- return TriangleType.NORMAL;
-
- }
- return TriangleType.NONE;
- }
-
- }
|