# Spielererstellung



## Olli123 (16. Jan 2011)

Hey, ich bin Schüler, und wir lernen bei uns an der Schule java.
Wir sollen dafür ein Projekt erstellen, und ein Freund und ich wollen programmieren, dass für einen int-Wert die Anzahl von dem
String-Objekt Spieler erstellt wird, dem man dann einen Namen geben kann (z.B. int-Wert 4, darauf werden 4 Spieler erstellt denen man dann Namen geben kann).
Bis jetzt will java jedoch, dass wir vorher einen String-Wert eingeben, obwohl noch gar kein Objekt erstellt wurde 
Bitte helft uns


----------



## P@u1 (16. Jan 2011)

Am besten schreibst du mal deinen bisherigen Quellcode rein (sofern der nicht zu lang ist, sonst nur die wichtige(n) Stelle(n)).
So ohne Weiteres ist das Problem schwer nachzuvollziehen.


----------



## Olli123 (16. Jan 2011)

den haben wir wieder verworfen.
kann mir jemand vielleicht einer sagen wie man für den int-wert 4  4 objekte erstellen lassen kann?


----------



## Network (16. Jan 2011)

Die Frage ist wirklich mehr als verwirrend.
Besonderst die Stelle "Java will..."

Das einzig brauchbare was ich mir jetzt aus der Frage einfach mal zusammeninterpretiert habe:
Eclipse unterstreicht einen String gelb, mit der Warnung er könnte abgerufen werden ohne mit einem Wert versehen worden zu sein.
Lösung: Den String gleichzeitig bei der Zuweisung initialisieren.

Wenn das Problem anderst lautet dann bitte genauer ausdrücken 
Mit was arbeitet ihr? Wer "will" was von euch(wer gibt eine Warnung oder Fehler?)? Euer Code bis jetzt?


----------



## XHelp (16. Jan 2011)

Olli123 hat gesagt.:


> kann mir jemand vielleicht einer sagen wie man für den int-wert 4  4 objekte erstellen lassen kann?



Wert einlesen, eine Schleife laufen und Objekte erzeugen.
Wenn konkretere Antworten kommen sollen, dann solltest du konkretere Fragen stellen.


----------



## Olli123 (16. Jan 2011)

Also wir programmieren mit bluej.
der ganze quelltext wäre jetzt zu lang.
aber wir haben eine while-schleife, deren bedingung halt sein soll, dass solange der int-Wert größer oder gleich 0 ist, ein neues string-objekt spieler erstellt werden soll.die frage ist jetzt, wie ich es schaffe, dass wenn der int-Wert zum Beispiel 4 beträgt, 4 spieler-objekte erstellt werden.


----------



## P@u1 (16. Jan 2011)

Hier mal ein wenig Code als Denkanstoß (bei Verständnisproblemen solltest du am besten erstmal ein paar Grundlagen lernen, dafür kannst du z.B. das open book java ist auch eine Insel nehmen).

Eins Vorweg: ich hab den code nicht getestet, es kann sein, dass noch fehler drin sind.


```
Scanner sc = new Scanner(System.in);
System.out.println("Bitte Anzahl von Spielern eingeben!");
String s = sc.getNext();
int count = Integer.parseInt(s);
String[] players = new String[count];
int i = 0;
for(String str : players)
{
    i++;
    System.out.println("Bitte Namen von Spieler "+ i +" eingeben");
    str = sc.getNext();
}
//ich bin mir nicht ganz sicher, ob das so mit der for each schleife geht, ansonsten nimm eine normale for schleife:
for(int i = 0; i < players.length; i++)
{
    System.out.println("Bitte Namen von Spieler "+ (i+1) +" eingeben");
    players[i] = sc.getNext();
}
```


----------



## Olli123 (16. Jan 2011)

Okay, danke


----------



## XHelp (16. Jan 2011)

@Paul, der Trick bei der verwendung von Scanner ist eben, dass man da u.A. nextInt(), nextDouble() etc nutzen kann.
Die for Schleife macht auch nur bedingt Sinn, weil die sich falsch ließt.

```
for (int i=0;i<players.length;i++) {
```
wäre verständlicher


----------



## P@u1 (16. Jan 2011)

ok, das mit der for each schleife habe ich kurz danach auch nochmal editiert, weil ich mir nicht ganz sicher war, ob das überhaupt funktioniert, wenn man der variable innendrin was zuweise, also ob das dann auch auf das worüber iteriert wird änderungen vornimmt.
Ok, das mit next int ist ne gute idee, war mir gerade nicht bewusst gewesen, brauche für sowas eclipse vervollständigung und dann seh ich was es gibt


----------

