# kleine Aufgaben zum dringende Lösung



## dreambox_1234 (24. Apr 2015)

Hallo ihr Lieben Forum Mitglieder 

ich hatte folgende 3 kleine Aufgaben zum Lösen.

Hoffe ihr kommt damit zurecht ???:L

Vielen Dank an euch schon mal im voraus 

*1. Zufallszahlen Programmieren-Grundlagen:*

a)
Schreiben Sie ein Programm (Zufallszahl), dass 100 Zufallszahlen zieht und in einem entsprechenden Array (gezogeneZahlen) abspeichert.
b)
Kopieren Sie das Array (gezogeneZahlen) in ein weiteres Array (sortiertBubblesort) und sortieren Sie dieses Array mit dem Bubble-Sort-Algorithmus.
Geben Sie das sortierte Array auf dem Bildschirm aus.
c)
Kopieren Sie das Array (gezogeneZahlen) in ein weiteres Array (sortiert???). 

Sortieren Sie dieses Array mit einem anderen Sortieralgorithmus ihrer Wahl. (z.B.: Sortierverfahren â€“ Wikipedia)

Geben Sie dieses Ergebnis auch auf dem Bildschirm aus.
d)
Bestimmen Sie welcher Algorithmus schneller sortiert hat. (Tipp: Es könnte sein, dass Sie die Anzahl der gezogenen Zufallszahlen erhöhen müssen.)
-----------------------------------------------------------------------------------------------------------------------------------------------------

*2. Fibonacci-Reihe-Rekursion:*

Hier fragt man sich gleich: "Was ist das denn, Fibonacci-Reihe?” Und hier die Antwort: 
Jede Zahl in einer Fibonacci-Reihe ist die Summe der zwei vorangegangenen Zahlen! 
Hier ein einfaches Beispiel:

0+1=1 

1+4=5

1+1=2 

4+5=9

1+2=3 

9+14=23

2+3=5 

14+23=37

3+5=8 

23+37=60

8+13=21 

37+60=97

13+21=34 

60+97=157

21+34=55 

97+157=254

Aufgabe:
Schreiben Sie ein Java-Programm (Name: Hauptprogramm.java) mit einer Methode (getFibonacci). 

Diese Methode soll über eine Rekursion z.B. getFibonacci(10) den Wert 55 ausgeben.
Informationen zur Berechnung der Fibonacci-Folge finden Sie unter: Fibonacci-Folge â€“ Wikipedia
-----------------------------------------------------------------------------------------------------------------------------------------------------

*3. Ein Spiel mit 4 Spielern:*


Es gibt ein Spiel mit 1 bis 4 Spielern.
Das Spiel besteht aus 1 bis 10 Runden
In jeder Runde wird eine Zufallszahl aus 1 bis 10 gezogen.
Jeder Spieler besitzt:


einen Name
einen Vorname
einen Kontostand z.B. 5000 Points
einen Einsatz z.B. 5 Points (wird nur einmal für das ganze Spiel gesetzt)
eine Zahl, auf die der Spieler setzt z.B. 6 (wird nur einmal für das ganze Spiel gesetzt)
Wird die Zahl in der Runde gezogen bekommt der Spieler das 10-fache seines Einsatz zum Kontostand hinzugefügt.
Wurde die Zahl nicht gezogen, wird der Einsatz vom Kontostand abgezogen.
Hat der Spieler kein Guthaben mehr, hat er verloren.
Gewinner ist wer nach allen Runden den höchsten Kontostand besitzt.
----------------
Das Spiel gibt die Kontostände aller Spieler aus.
Es gibt eine Analyse welche Zufallszahl wie oft gezogen wurde.
------------------








Die Klassen dürfen durch eigene Methoden und Attribute erweitert werden, wenn dieses nach Ihrer Meinung sinnvoll ist.

Fehler: person Person [ ] bitte in spieler Spieler [ ] tauschen


----------



## Saheeda (24. Apr 2015)

Dein Ansatz?


----------



## dreambox_1234 (24. Apr 2015)

Aufgabe 1-2 ist gelöst! 

brauche Aufgabe 3 noch...


----------



## AntiMuffin (24. Apr 2015)

Die schaffst du auch noch


----------



## Tarrew (24. Apr 2015)

Ich helf dir nochmal ein bisschen und geb dir eine kleine Hilfe: 

Die Beschreibung sagt ja schon, dass du 2 Klassen brauchst: 

```
public class Spieler {

	String name;
	String vorname;
	int kontostand;
	int einsatz;
	int zahl;
	
	public Spieler(String name, String vorname, int kontostand, int einsatz, int zahl){
		//implement me!!
	}
	
}
```


```
public class Spiel {
	Spieler s1, s2, s3, s4;

	public static void main(String[] args) {
		new Spiel().start();
	}

	public void start() {

		spielerEinlesen();
		for (int runde = 0; runde < 10; runde++) {

			zieheZahl();
			aktualisiereKonto();
			kontostandAusgeben();
			pruefeVerlierer();

		}
		pruefeGewinner();

	}

	private void spielerEinlesen() {
		// implement me!!
	}

	private void updateKontostand() {
		// implement me!!
	}

	private int zieheZahl() {
		// implement me!!
	}

	private void aktualisiereKonto() {
		// imlement me!!
	}

	private void pruefeVerlierer() {
		// implement me!!
	}

	private void pruefeGewinner() {
		// implement me!!
	}

	private void kontostandAusgeben() {
		// implement me!!
	}

}
```

Was dir helfen könnte ist die Klasse "Scanner". Wie du eine Zufallszahl kriegst weißt du ja schon aus Aufgabe 1. 
Ansonsten brauchst du im Prinzip nur noch ein paar Ausgaben und einfache if-Abfragen.

Das kriegste sicher hin


----------



## franky27 (24. Apr 2015)

> ich hatte folgende 3 kleine Aufgaben zum Lösen.
> 
> Hoffe *ihr* kommt damit zurecht


----------



## dreambox_1234 (24. Apr 2015)

bisschen erweitert 


```
package Aufgabe3;


public class Spieler {
     
    String name;
    String vorname;
    int kontostand;
    int einsatz;
    int zahl;
 
    public Spieler(String name, String vorname, int kontostand, int einsatz, int zahl){
        //implement me!!
    }


    public String getName() {
        return name;
    }


    public void setName(String name) {
        this.name = name;
    }


    public String getVorname() {
        return vorname;
    }


    public void setVorname(String vorname) {
        this.vorname = vorname;
    }


    public int getKontostand() {
        return kontostand;
    }


    public void setKontostand(int kontostand) {
        this.kontostand = kontostand;
    }


    public int getEinsatz() {
        return einsatz;
    }


    public void setEinsatz(int einsatz) {
        this.einsatz = einsatz;
    }


    public int getZahl() {
        return zahl;
    }


    public void setZahl(int zahl) {
        this.zahl = zahl;
    }
    
 
}
```


----------



## Tarrew (24. Apr 2015)

Rechtsklick -> Source -> Generate Getters and Setters ?


----------



## AntiMuffin (24. Apr 2015)

Hallo,
du solltest wie @Tarrew schon sagt Getter und Setter erstellen. Du solltest aber auch alle Variablen auf private setzten!


----------



## dreambox_1234 (24. Apr 2015)

```
[code=Java][code=Java][code=Java][code=Java][code=Java][code=Java][code=Java][code=Java]
```
[/code][/code][/code][/code][/code][/code][/code][/code]Genau Tarrew 

Ja AntiMuffin du hast recht.


```
package Aufgabe3;


public class Spieler {
	 
	private String name;
	private String vorname;
	private int kontostand;
	private int einsatz;
	private int zahl;
 
	public Spieler(String name, String vorname, int kontostand, int einsatz, int zahl){
		//implement me!!
	}


	public String getName() {
		return name;
	}


	public void setName(String name) {
		this.name = name;
	}


	public String getVorname() {
		return vorname;
	}


	public void setVorname(String vorname) {
		this.vorname = vorname;
	}


	public int getKontostand() {
		return kontostand;
	}


	public void setKontostand(int kontostand) {
		this.kontostand = kontostand;
	}


	public int getEinsatz() {
		return einsatz;
	}


	public void setEinsatz(int einsatz) {
		this.einsatz = einsatz;
	}


	public int getZahl() {
		return zahl;
	}


	public void setZahl(int zahl) {
		this.zahl = zahl;
	}
	
	public int pruefeRunde() {
		return einsatz;
		
	}
 
}
```


----------



## Tarrew (24. Apr 2015)

Hab das Programm grad mal für mich selbst fertig geschrieben und läuft alles. 
Letzter Tipp von mir: Die spielerEinlesen-Methode ist eventuell die schwierigste (wobei die schon nicht so schwer ist ;p ):


```
private void spielerEinlesen() {
		Scanner sc = new Scanner(System.in);
		System.out
				.println("Daten in folgender Form eingeben: name;vorname;kontostand;einsatz;zahl");
		for (int i = 0; i < sArray.length; i++) {
			System.out.println("Daten für Spieler" + (i + 1) + " angeben");
			String eingabe = sc.nextLine();
			String[] spielerDaten = eingabe.split(";");
			sArray[i].name = spielerDaten[0];
			sArray[i].vorname = spielerDaten[1];
			sArray[i].kontostand = Integer.parseInt(spielerDaten[2]);
			sArray[i].einsatz = Integer.parseInt(spielerDaten[3]);
			sArray[i].einsatz = Integer.parseInt(spielerDaten[4]);
		}
	}
```

In meinem Fall hab ich die Variablen einfach so gelassen. Du müsstest dann mit deinen Setter-Methoden arbeiten. 
Also 
	
	
	
	





```
sArray[i].setName(spielerDaten[0]);
```
 etc. 

Arbeite jetzt auch mit einem Spieler-Array, da das alles etwas einfacher macht. 
Also anstatt 
	
	
	
	





```
Spieler s1,s2,s3,s4
```
 schreibt man dann einfach: 
	
	
	
	





```
Spieler[] sArray = new Spieler[4];
```
Das Array-musst du aber initialisieren, weil noch keine Spieler drin sind. 

Die updateKontostand hatte ich in der start()-Methode vergessen, aber du kannst dir ja leicht ausrechnen, wo die hinkommt. 

Achja und die Methode zum Einlesen der Spieler enthält noch keine Fehlerbehandlung. Also ich gehe davon aus, dass der Benutzer schon alles richtig eingibt (auch wenn man nicht davon ausgehen sollte). Aber die Fehlerbehandlung kannste ja machen, wenn der Rest läuft. 

Viel Glück


----------



## dreambox_1234 (24. Apr 2015)

Danke dir Tarrew so langsam nähert man sich dem Ziel


----------



## dreambox_1234 (28. Apr 2015)

kann jemand das 3. Programm zum laufen bringen?
ich komm damit gerade garnicht zurecht....


----------

