Übungen Assignment 17 bis 20

kleinerRech
Kai Sellmann 2023-05-28 12:40:09 +02:00
parent 8f5c18deae
commit a1d60d727f
6 changed files with 81 additions and 43 deletions

View File

@ -7,29 +7,13 @@ public class Futterstelle {
/** /**
* Füttert den Affen. * Füttert den alle Tiere.
* *
* @param affe Affe, der gefüttert werden soll. * @param alle Tiere sollen gefüttert werden.
*/ */
public void gibFutter(Affe affe) { public void gibFutter(ZooTier name) {
affe.fuettern(); name.fuettern();
} }
/**
* Füttert den Gorilla.
*
* @param gorilla Gorilla, der gefüttert werden soll.
*/
public void gibFutter(Gorilla gorilla) {
gorilla.fuettern();
}
/**
* Füttert die Giraffe.
*
* @param giraffe Giraffe, die gefüttert werden soll.
*/
public void gibFutter(Giraffe giraffe) {
giraffe.fuettern();
}
} }

View File

@ -5,37 +5,46 @@ package pr2.vererbung.polymorphie;
*/ */
public final class ZooSimulation { public final class ZooSimulation {
/** /**
* Konstruktor. * Konstruktor.
*/ */
private ZooSimulation() { private ZooSimulation() {
// keine Objekte benötigt // keine Objekte benötigt
} }
/** /**
* Main-Methode. * Main-Methode.
* *
* @param args Kommandozeilen-Argumente. * @param args Kommandozeilen-Argumente.
*/ */
@SuppressWarnings("null")
public static void main(String[] args) { public static void main(String[] args) {
ZooTier charlie = null;
ZooTier buck = null;
ZooTier debbie = null;
ZooTier[] tiere = {charlie, buck, debbie};
Futterstelle futterstelle = new Futterstelle(); Futterstelle futterstelle = new Futterstelle();
Affe charlie = new Affe("Charlie"); tiere[0] = new Affe("Charlie");
Gorilla buck = new Gorilla("Buck"); tiere[1] = new Gorilla("Buck");
Giraffe debbie = new Giraffe("Debbie"); tiere[2] = new Giraffe("Debbie");
System.out.println(charlie); for (int i = 0; i < tiere.length; i++) {
System.out.println(buck); System.out.println(tiere[i]);
System.out.println(debbie); }
System.out.println("Fütterung..."); System.out.println("Fütterung...");
for (int i = 0; i < tiere.length; i++) {
futterstelle.gibFutter(tiere[0]);
}
futterstelle.gibFutter(charlie); for (int i = 0; i < tiere.length; i++) {
futterstelle.gibFutter(buck); System.out.println(tiere[i]);
futterstelle.gibFutter(debbie); }
System.out.println(charlie);
System.out.println(buck);
System.out.println(debbie);
} }
} }

View File

@ -5,6 +5,7 @@ package pr2.vererbung.polymorphie;
*/ */
public class ZooTier { public class ZooTier {
/** /**
* Name des Tiers. * Name des Tiers.
*/ */
@ -22,6 +23,7 @@ public class ZooTier {
*/ */
public ZooTier(String name) { public ZooTier(String name) {
this.name = name; this.name = name;
} }
/** /**

View File

@ -1,5 +1,26 @@
package pr2.vererbung.singleton_einfach; package pr2.vererbung.singleton_einfach;
public class Singleton { public class Singleton {
private String name;
Singleton sl = new Singleton("Alleine");
private Singleton(String name) {
if (sl == null) {
this.setName(name);
} else {
getInfo();
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getInfo() {
return "Der Singleton exsistiert bereits";
}
} }

View File

@ -22,16 +22,20 @@ public final class Spiel {
Wuerfel wuerfel2 = new Wuerfel(); Wuerfel wuerfel2 = new Wuerfel();
// 1000 Mal würfeln // 1000 Mal würfeln
for (int i = 0; i < 1000; i++) { for (int i = 0; i < 3000; i++) {
wuerfel1.wuerfele(); wuerfel1.wuerfele();
wuerfel2.wuerfele(); wuerfel2.wuerfele();
} }
// Statistik ausgeben // Statistik ausgeben
System.out.println("Statistik für Würfel 1"); System.out.println("Statistik für alle Würfel in Zahlen:");
System.out.println("Von " + Wuerfel.counter + " würfen");
System.out.println(wuerfel1.statistik()); System.out.println(wuerfel1.statistik());
System.out.println(); System.out.println();
System.out.println("Statistik für Würfel 2"); System.out.println("Statsitik für alle Würfel in Prozent");
System.out.println(wuerfel2.statistik()); System.out.println("Von " + Wuerfel.counter + " würfen");
System.out.println(wuerfel1.statistikProzent());
System.out.println();
} }
} }

View File

@ -6,10 +6,11 @@ import java.util.Random;
* Ein einfacher Würfel. * Ein einfacher Würfel.
*/ */
public class Wuerfel { public class Wuerfel {
/** Häufigkeit der Werte. */ /** Häufigkeit der Werte. */
private int[] haeufigkeit = new int[6]; private static int[] haeufigkeit = new int[6];
public static double counter = 0;
/** Zufallsgenerator. */ /** Zufallsgenerator. */
private Random random = new Random(); private Random random = new Random();
@ -19,6 +20,7 @@ public class Wuerfel {
* @return der Wurf. * @return der Wurf.
*/ */
public int wuerfele() { public int wuerfele() {
counter++;
int wert = random.nextInt(6); int wert = random.nextInt(6);
haeufigkeit[wert]++; haeufigkeit[wert]++;
return wert + 1; return wert + 1;
@ -41,4 +43,20 @@ public class Wuerfel {
return result.toString(); return result.toString();
} }
public String statistikProzent() {
StringBuilder result = new StringBuilder();
for (int i = 0; i < haeufigkeit.length; i++) {
double prozent = (100/counter*haeufigkeit[i]);
result.append(i + 1)
.append(": ")
.append(prozent)
.append(" %")
.append("\n");
}
return result.toString();
}
} }