praktikum 2: testcode TriangleCheckerNORMAL
This commit is contained in:
parent
43ed9d5a70
commit
0ec28b9db9
@ -4,6 +4,7 @@
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
@ -11,5 +12,6 @@
|
||||
<orderEntry type="library" name="openjfx.javafx.controls" level="project" />
|
||||
<orderEntry type="library" name="openjfx.javafx.fxml" level="project" />
|
||||
<orderEntry type="library" name="openjfx.javafx.graphics" level="project" />
|
||||
<orderEntry type="library" name="junit.jupiter" level="project" />
|
||||
</component>
|
||||
</module>
|
74
src/Praktikum3/TriangleChecker.java
Normal file
74
src/Praktikum3/TriangleChecker.java
Normal file
@ -0,0 +1,74 @@
|
||||
|
||||
package Praktikum3;
|
||||
import java.util.Scanner;
|
||||
|
||||
public class TriangleChecker {
|
||||
|
||||
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) {
|
||||
|
||||
if (a <= 0 || b <= 0 || c <= 0) {
|
||||
return TriangleType.NONE;
|
||||
}
|
||||
|
||||
if (a + b <= c || a + c <= b || b + c <= a) {
|
||||
return TriangleType.NONE;
|
||||
}
|
||||
|
||||
if (a == b && b == c) {
|
||||
return TriangleType.EQUILATERAL;
|
||||
}
|
||||
|
||||
if (a == b || b == c || a == c) {
|
||||
return TriangleType.ISOSCELES;
|
||||
}
|
||||
return TriangleType.NORMAL;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public enum TriangleType {
|
||||
NONE,
|
||||
NORMAL,
|
||||
ISOSCELES, // Gleichschenklig
|
||||
EQUILATERAL // Gleichseitig
|
||||
}}
|
@ -3,34 +3,34 @@ package Praktikum3;
|
||||
public class ZahlenFilter {
|
||||
public void durchlaufenUndPruefen(int maxZahl) {
|
||||
for (int zahl = 1; zahl <= maxZahl; zahl++) {
|
||||
pruefeDurch5Teilbar(zahl);
|
||||
pruefeEndetAuf9(zahl);
|
||||
pruefeDurch3TeilbarMitVorgaenger(zahl);
|
||||
if (filter(zahl)){
|
||||
System.out.println(zahl + " erfüllt keins der Kriterien ");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
public static boolean filter(int zahl){
|
||||
return (!istDurch5Teilbar(zahl) && !endetAuf9(zahl) && !istDurch3TeilbarMitVorgaenger(zahl));
|
||||
|
||||
|
||||
}
|
||||
public static boolean istDurch5Teilbar(int zahl) {
|
||||
return zahl % 5 == 0;
|
||||
}
|
||||
|
||||
private void pruefeDurch5Teilbar(int zahl) {
|
||||
if (zahl % 5 == 0) {
|
||||
System.out.println(zahl + " ist durch 5 teilbar!");
|
||||
}
|
||||
}
|
||||
//umwandeln zahlen zu string damit ich mit z.20 auf den letzten Ziffer zugreifen kann
|
||||
private void pruefeEndetAuf9(int zahl) {
|
||||
public static boolean endetAuf9(int zahl) {
|
||||
String zahlAlsString = Integer.toString(zahl);
|
||||
char letzteZiffer = zahlAlsString.charAt(zahlAlsString.length()-1);
|
||||
if(letzteZiffer == '9'){
|
||||
System.out.println(zahl + " endet auf 9!");
|
||||
}
|
||||
char letzteZiffer = zahlAlsString.charAt(zahlAlsString.length() - 1);
|
||||
return letzteZiffer == '9';
|
||||
}
|
||||
|
||||
private void pruefeDurch3TeilbarMitVorgaenger(int zahl) {
|
||||
public static boolean istDurch3TeilbarMitVorgaenger(int zahl) {
|
||||
if (zahl > 1) {
|
||||
int vorgaenger = zahl - 1;
|
||||
int summe = zahl + vorgaenger;
|
||||
if (summe % 3 == 0) {
|
||||
System.out.println(zahl + " und " + vorgaenger + " addiert ergeben " + summe + " und " + summe + " ist durch 3 teilbar");
|
||||
}
|
||||
return summe % 3 == 0;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
@ -46,4 +46,4 @@ public class ZahlenFilter {
|
||||
ZahlenFilter pruefung = new ZahlenFilter();
|
||||
pruefung.durchlaufenUndPruefen(maxZahl);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
13
test/Praktikum3/TriangleCheckerTest.java
Normal file
13
test/Praktikum3/TriangleCheckerTest.java
Normal file
@ -0,0 +1,13 @@
|
||||
package Praktikum3;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
class TriangleCheckerTest {
|
||||
|
||||
@Test
|
||||
void checkTriangle() {
|
||||
assertEquals(TriangleChecker.TriangleType.NORMAL, TriangleChecker.checkTriangle(3, 4, 5 ));
|
||||
}
|
||||
}
|
33
test/Praktikum3/ZahlenFilterTest.java
Normal file
33
test/Praktikum3/ZahlenFilterTest.java
Normal file
@ -0,0 +1,33 @@
|
||||
package Praktikum3;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
class ZahlenFilterTest {
|
||||
|
||||
@Test
|
||||
void istDurch3TeilbarMitVorgaenger() {
|
||||
assertTrue (ZahlenFilter.istDurch3TeilbarMitVorgaenger(5));
|
||||
assertFalse(ZahlenFilter.istDurch3TeilbarMitVorgaenger(3));
|
||||
}
|
||||
|
||||
@Test
|
||||
void filter() {
|
||||
assertTrue (ZahlenFilter.filter(3));
|
||||
assertFalse(ZahlenFilter.filter(2));
|
||||
}
|
||||
|
||||
@Test
|
||||
void istDurch5Teilbar() {
|
||||
assertTrue (ZahlenFilter.istDurch5Teilbar(10));
|
||||
assertFalse(ZahlenFilter.istDurch5Teilbar(21));
|
||||
}
|
||||
|
||||
@Test
|
||||
void endetAuf9() {
|
||||
assertTrue (ZahlenFilter.endetAuf9(19));
|
||||
assertFalse(ZahlenFilter.endetAuf9(21));
|
||||
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user