Spielererstellung

O

Olli123

Gast
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 :D
Bitte helft uns ;)
 

P@u1

Aktives Mitglied
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.
 
O

Olli123

Gast
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

Top Contributor
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?
 
Zuletzt bearbeitet:
O

Olli123

Gast
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

Aktives Mitglied
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.

Code:
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();
}
 
Zuletzt bearbeitet:

XHelp

Top Contributor
@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.
Java:
for (int i=0;i<players.length;i++) {
wäre verständlicher
 

P@u1

Aktives Mitglied
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 :D
 

Neue Themen


Oben