Praktikum 3 Aufgabe 1
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 2.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import java.util.Scanner;
  2. public class TriangleChecker {
  3. public enum TriangleType {
  4. NONE, // kein Dreieck
  5. NORMAL, // Dreieck
  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. // Analysen
  42. public static TriangleType checkTriangle(float a, float b, float c) {
  43. if(checkIfNotValid(a,b,c)) return TriangleType.NONE;
  44. if(checkIfEquilateral(a,b,c)) return TriangleType.EQUILATERAL;
  45. if(checkIfIsosceles(a,b,c)) return TriangleType.ISOSCELES;
  46. if(checkIfNormal(a,b,c)) return TriangleType.NORMAL;
  47. return TriangleType.NONE;
  48. }
  49. // Analyse kein Dreieck
  50. private static boolean checkIfNotValid(float a, float b, float c){
  51. if (a + b <= c || a + c <= b || b + c <= a) return true;
  52. return false;
  53. }
  54. // Analyse normales Dreieck
  55. private static boolean checkIfNormal(float a, float b, float c){
  56. if (a != b && b != c && a != c) return true;
  57. return false;
  58. }
  59. // Analyse gleichschenkliges Dreieck
  60. private static boolean checkIfIsosceles(float a, float b, float c){
  61. if (a == b || a == c || b == c) return true;
  62. return false;
  63. }
  64. // Analyse gleichseitiges Dreieck
  65. private static boolean checkIfEquilateral(float a, float b, float c){
  66. if (a == b && b == c) return true;
  67. return false;
  68. }
  69. }