Triangle Checker
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

TriangleChecker.java 1.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import java.util.Scanner;
  2. public class TriangleChecker {
  3. public enum TriangleType {
  4. NONE,
  5. NORMAL,
  6. ISOSCELES, // Gleichschenklig
  7. EQUILATERAL // Gleichseitig
  8. }
  9. public static void main(String[] args) {
  10. Scanner s = new Scanner(System.in);
  11. System.out.println("Geben Sie die Seitenlängen ein.");
  12. float a = enterFloat(s, "a: ");
  13. float b = enterFloat(s, "b: ");
  14. float c = enterFloat(s, "c: ");
  15. s.close();
  16. printAnalysis(a, b, c);
  17. }
  18. // Eingabe einer Seitenlänge
  19. private static float enterFloat(Scanner s, String prompt) {
  20. System.out.print(prompt);
  21. return s.nextFloat();
  22. }
  23. // Ausgabe der ermittelten Dreiecksart
  24. private static void printAnalysis(float a, float b, float c) {
  25. TriangleType type = checkTriangle(a, b, c);
  26. switch (type) {
  27. case NONE:
  28. System.out.println("Kein Dreieck");
  29. break;
  30. case NORMAL:
  31. System.out.println("Dreieck");
  32. break;
  33. case ISOSCELES:
  34. System.out.println("Gleichschenkliges Dreieck");
  35. break;
  36. case EQUILATERAL:
  37. System.out.println("Gleichseitiges Dreieck");
  38. break;
  39. }
  40. }
  41. // Analyse der Dreiecksart
  42. public static TriangleType checkTriangle(float a, float b, float c) {
  43. //check for shape
  44. if (a + b > c && a + c > b && b + c > a) {
  45. if (a == b && b == c) {
  46. //gleichseitiges Dreieck
  47. return TriangleType.EQUILATERAL;
  48. }
  49. if (a == b || a == c || b == c) {
  50. //gleichschenkliges Dreieck
  51. return TriangleType.ISOSCELES;
  52. }
  53. //normales Dreieck
  54. return TriangleType.NORMAL;
  55. }
  56. //kein Dreieck
  57. return TriangleType.NONE;
  58. }
  59. }