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.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. if(a==b && b==c) {return TriangleType.EQUILATERAL;}
  44. else if (a+b>c && b+c>a && a+c>b) {
  45. if (a==b && a!=c || b==c && b!=a || a==c && a!=b ){return TriangleType.ISOSCELES;}
  46. else {return TriangleType.NORMAL;}
  47. }
  48. else {return TriangleType.NONE;}
  49. }
  50. }