diff --git a/.idea/libraries/jars.xml b/.idea/libraries/jars.xml
new file mode 100644
index 0000000..a29960d
--- /dev/null
+++ b/.idea/libraries/jars.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..1029788
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..bdf963f
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TriangleCheckerAssignment.iml b/TriangleCheckerAssignment.iml
new file mode 100644
index 0000000..506243b
--- /dev/null
+++ b/TriangleCheckerAssignment.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/TriangleChecker.java b/src/TriangleChecker.java
index 14f4841..dd873b3 100644
--- a/src/TriangleChecker.java
+++ b/src/TriangleChecker.java
@@ -1,54 +1,76 @@
+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;
+ public enum TriangleType {
+ NONE,
+ NORMAL,
+ ISOSCELES, // Gleichschenklig
+ EQUILATERAL // Gleichseitig
}
- }
- // Analyse der Dreiecksart
- public static TriangleType checkTriangle(float a, float b, float c) {
- return TriangleType.NONE;
- }
+ 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;
+ }
}
\ No newline at end of file
diff --git a/test/TriangleCheckerTest.java b/test/TriangleCheckerTest.java
index 5c9ff57..5060181 100644
--- a/test/TriangleCheckerTest.java
+++ b/test/TriangleCheckerTest.java
@@ -1,8 +1,11 @@
import org.junit.Test;
+
+import java.util.Arrays;
+
import static org.junit.Assert.*;
public class TriangleCheckerTest {
-
+
@Test
public void testValidTriangle() {
@@ -18,5 +21,47 @@ public class TriangleCheckerTest {
assertEquals(TriangleChecker.TriangleType.NORMAL, type);
}
+ @Test
+ public void testEquilateralTriangle() {
+ // Arrange
+ float a = 2;
+ float b = 2;
+ float c = 2;
+
+ // Act
+ TriangleChecker.TriangleType type = TriangleChecker.checkTriangle(a, b, c);
+
+ // Assert
+ assertEquals(TriangleChecker.TriangleType.EQUILATERAL, type);
+ }
+ @Test
+ public void testIsocelesTriangle() {
+
+ // Arrange
+ float a = 2;
+ float b = 2;
+ float c = 3;
+
+ // Act
+ TriangleChecker.TriangleType type = TriangleChecker.checkTriangle(a, b, c);
+
+ // Assert
+ assertEquals(TriangleChecker.TriangleType.ISOSCELES, type);
+ }
+ @Test
+ public void testNoTriangle() {
+
+ // Arrange
+ float a = 2;
+ float b = 2;
+ float c = 4;
+
+ // Act
+ TriangleChecker.TriangleType type = TriangleChecker.checkTriangle(a, b, c);
+
+ // Assert
+ assertEquals(TriangleChecker.TriangleType.NONE, type);
+ }
}
+