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

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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 (triangleTheorem(a,b,c) ){
  44. if(a==b && a==c){return TriangleType.EQUILATERAL;}
  45. if(a==b||b==c||a==c){return TriangleType.ISOSCELES;}
  46. return TriangleType.NORMAL;
  47. }
  48. return TriangleType.NONE;
  49. }
  50. public static boolean triangleTheorem(float a, float b, float c) {
  51. if (a <= 0 || b <= 0 || c <= 0) {
  52. return false;
  53. }
  54. return (a + b > c && b + c > a && a + c > b);
  55. }
  56. }