Compare commits

..
10 Commits
10 changed files with 4 additions and 213 deletions

No files matched your search

-3
View File
@@ -1,3 +0,0 @@
public interface IHelloWorldWriter {
}
-8
View File
@@ -1,8 +0,0 @@
package Praktikum3;
public class ErrorWrite implements IHelloWorld2{
@Override
public void writeHelloWorld(){
System.err.println("Hello World");
}
}
-7
View File
@@ -1,7 +0,0 @@
package Praktikum3;
public class Executor implements IHelloWorldWriter {
public static void printHelloWorld(IHelloWorldWriter writer1, IHelloWorldWriter writer2, boolean second){
}
}
-5
View File
@@ -1,5 +0,0 @@
package Praktikum3;
public interface IHelloWorld2 {
void writeHelloWorld();
}
-8
View File
@@ -1,8 +0,0 @@
package Praktikum3;
public class OutWriter implements IHelloWorld2{
@Override
public void writeHelloWorld() {
System.out.println("Hello World");
}
}
+4 -4
View File
@@ -14,7 +14,7 @@ public class SnakeBot extends Bot {
protected char nextMove(View view) {
if (view == null || view.data == null || view.data.isEmpty()) {
System.err.println("FEHLER: View-Daten fehlen! Verbindung unterbrochen?");
return 'q'; // Stoppt sicher
return 'q';
}
int width = view.width;
@@ -43,7 +43,7 @@ public class SnakeBot extends Bot {
while (!queue.isEmpty()) {
int current = queue.poll();
if (data.charAt(current) == '@') {
return current; // `@` gefunden, direkt dorthin!
return current;
}
for (int next : getNeighbors(current, width, data)) {
if (!visited.contains(next)) {
@@ -52,7 +52,7 @@ public class SnakeBot extends Bot {
}
}
}
return -1; // Keine `@` gefunden
return -1;
}
private List<Integer> getNeighbors(int pos, int width, String data) {
@@ -76,7 +76,7 @@ public class SnakeBot extends Bot {
if (tx < x && canMove(pos - 1, data)) return '<';
if (tx > x && canMove(pos + 1, data)) return '>';
return randomMove(); // Falls kein direkter Weg verfügbar ist, bewege dich zufällig
return randomMove();
}
private char exploreStrategically(int pos, int width, String data) {
-74
View File
@@ -1,74 +0,0 @@
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
}}
-49
View File
@@ -1,49 +0,0 @@
package Praktikum3;
public class ZahlenFilter {
public void durchlaufenUndPruefen(int maxZahl) {
for (int zahl = 1; zahl <= maxZahl; 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;
}
public static boolean endetAuf9(int zahl) {
String zahlAlsString = Integer.toString(zahl);
char letzteZiffer = zahlAlsString.charAt(zahlAlsString.length() - 1);
return letzteZiffer == '9';
}
public static boolean istDurch3TeilbarMitVorgaenger(int zahl) {
if (zahl > 1) {
int vorgaenger = zahl - 1;
int summe = zahl + vorgaenger;
return summe % 3 == 0;
}
return false;
}
public static void main(String[] args) {
int maxZahl = 200; // Standardwert
if (args.length > 0) {
try {
maxZahl = Integer.parseInt(args[0]);
} catch (NumberFormatException e) {
System.out.println("Ungültiger Parameter. Verwende Standardwert 200.");
}
}
ZahlenFilter pruefung = new ZahlenFilter();
pruefung.durchlaufenUndPruefen(maxZahl);
}
}
-22
View File
@@ -1,22 +0,0 @@
package Praktikum3;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
import static org.junit.jupiter.api.Assertions.assertEquals;
class TriangleCheckerTest {
@Test
void checkTriangle() {
assertEquals(TriangleChecker.TriangleType.NORMAL, TriangleChecker.checkTriangle(3, 4, 5 ));
assertEquals(TriangleChecker.TriangleType.EQUILATERAL, TriangleChecker.checkTriangle(3, 3, 3 ));
assertEquals(TriangleChecker.TriangleType.NONE, TriangleChecker.checkTriangle(5,-1,13));
assertEquals(TriangleChecker.TriangleType.NONE, TriangleChecker.checkTriangle(0,3,13));
assertEquals(TriangleChecker.TriangleType.NONE, TriangleChecker.checkTriangle(5,9,-13));
assertEquals(TriangleChecker.TriangleType.NONE, TriangleChecker.checkTriangle(20,3,2));
assertEquals(TriangleChecker.TriangleType.NONE, TriangleChecker.checkTriangle(10,20,10));
assertEquals(TriangleChecker.TriangleType.NONE, TriangleChecker.checkTriangle(1,1,13));
assertEquals(TriangleChecker.TriangleType.ISOSCELES, TriangleChecker.checkTriangle(5,5,3));
}
}
-33
View File
@@ -1,33 +0,0 @@
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));
}
}