Ü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) {
affe.fuettern();
public void gibFutter(ZooTier name) {
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,6 +5,8 @@ package pr2.vererbung.polymorphie;
*/
public final class ZooSimulation {
/**
* Konstruktor.
*/
@ -17,25 +19,32 @@ public final class ZooSimulation {
*
* @param args Kommandozeilen-Argumente.
*/
@SuppressWarnings("null")
public static void main(String[] args) {
ZooTier charlie = null;
ZooTier buck = null;
ZooTier debbie = null;
ZooTier[] tiere = {charlie, buck, debbie};
Futterstelle futterstelle = new Futterstelle();
Affe charlie = new Affe("Charlie");
Gorilla buck = new Gorilla("Buck");
Giraffe debbie = new Giraffe("Debbie");
tiere[0] = new Affe("Charlie");
tiere[1] = new Gorilla("Buck");
tiere[2] = new Giraffe("Debbie");
for (int i = 0; i < tiere.length; i++) {
System.out.println(tiere[i]);
}
System.out.println(charlie);
System.out.println(buck);
System.out.println(debbie);
System.out.println("Fütterung...");
futterstelle.gibFutter(charlie);
futterstelle.gibFutter(buck);
futterstelle.gibFutter(debbie);
for (int i = 0; i < tiere.length; i++) {
futterstelle.gibFutter(tiere[0]);
}
System.out.println(charlie);
System.out.println(buck);
System.out.println(debbie);
for (int i = 0; i < tiere.length; i++) {
System.out.println(tiere[i]);
}
}
}

View File

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

View File

@ -2,4 +2,25 @@ package pr2.vererbung.singleton_einfach;
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();
// 1000 Mal würfeln
for (int i = 0; i < 1000; i++) {
for (int i = 0; i < 3000; i++) {
wuerfel1.wuerfele();
wuerfel2.wuerfele();
}
// 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();
System.out.println("Statistik für Würfel 2");
System.out.println(wuerfel2.statistik());
System.out.println("Statsitik für alle Würfel in Prozent");
System.out.println("Von " + Wuerfel.counter + " würfen");
System.out.println(wuerfel1.statistikProzent());
System.out.println();
}
}

View File

@ -7,9 +7,10 @@ import java.util.Random;
*/
public class Wuerfel {
/** Häufigkeit der Werte. */
private int[] haeufigkeit = new int[6];
/** Häufigkeit der Werte. */
private static int[] haeufigkeit = new int[6];
public static double counter = 0;
/** Zufallsgenerator. */
private Random random = new Random();
@ -19,6 +20,7 @@ public class Wuerfel {
* @return der Wurf.
*/
public int wuerfele() {
counter++;
int wert = random.nextInt(6);
haeufigkeit[wert]++;
return wert + 1;
@ -41,4 +43,20 @@ public class Wuerfel {
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();
}
}