5.11.24 ZahlenfilterExtended + TriangleChecker

This commit is contained in:
marti 2024-11-05 15:58:26 +01:00
parent 0c6a7324fe
commit ca21951981
4 changed files with 168 additions and 0 deletions

View File

@ -0,0 +1,13 @@
package praktikum02;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class TriangleCheckerTest {
@Test
void checkTriangle() {
assertEquals(TriangleChecker.TriangleType.NORMAL,TriangleChecker.checkTriangle(5, 6, 7));
}
}

View File

@ -0,0 +1,26 @@
package praktikum02;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class ZahlenfilterExtendedTest {
@Test
void filter() {
assertTrue(ZahlenfilterExtended.filter(30));
assertFalse(ZahlenfilterExtended.filter(31));
}
@Test
void checkDivisibleBy5() {
}
@Test
void checkEndsWith9() {
}
@Test
void checkSumDivisibleBy3() {
}
}

View File

@ -0,0 +1,56 @@
package praktikum02;
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;
}
}
// Analyse der Dreiecksart
public static TriangleType checkTriangle(float a, float b, float c) {
return TriangleType.NORMAL;
}
}

View File

@ -0,0 +1,73 @@
package praktikum02;
public class ZahlenfilterExtended {
int length = 200;
public static void main(String[] args) {
ZahlenfilterExtended zahlenfilter = new ZahlenfilterExtended();
if(args.length >0){
try{
zahlenfilter.length = Integer.parseInt(args[0]);
}
catch (NumberFormatException e){
System.out.println("Das geht nicht. Default: 200");
}
}
zahlenfilter.checknumber();
}
public void checknumber(){
for (int i = 1; i <= length; i++) {
if (filter(i)) {
System.out.println(i + " erfüllt kein Kriterium");
}
}
}
public void checkDurch5(int zahl) {
if (zahl % 5 == 0) {
System.out.println(zahl + " ist durch 5 teilbar!");
}
}
public void checkEndet9(int zahl) {
if (zahl % 10 == 9) {
System.out.println(zahl + " endet auf 9!");
}
}
public void checkSummeDurch3(int zahl, int vorgaenger) {
int summe = zahl + vorgaenger;
if (summe % 3 == 0) {
System.out.println(zahl + " und " + vorgaenger + " addiert ergeben "
+ summe + " und " + summe + " ist durch 3 teilbar!");
}
}
public void printNumbers(){
for (int i=1; i<length; i++)
if (filter(i))
System.out.println(i);
}
public static boolean filter(int i){
return !(checkDivisibleBy5(i)|| checkEndsWith9(i) || checkSumDivisibleBy3(i));
}
public static boolean checkDivisibleBy5(int number) {
return number % 5 == 0;
}
public static boolean checkEndsWith9(int number) {
return number % 10 == 9;
}
public static boolean checkSumDivisibleBy3(int number) {
int pred = number - 1;
int sum = number + pred;
return sum % 3 == 0;
}
}