N'Abend,
hier mal ein kleines Programm:
Zuerst wird der Spieler also über die Funktion getPlayerNum gefragt, wie viele Spieler mitspielen. Dieser Wert wird in num gespeichert.
Dann wird über die for-Schleife jeder Spieler gefragt, wie er heißt.
Allerdings wird beim ersten Durchlauf der Spieler, also Spieler 1 übersprungen. Danach wird ganz normal weiter gefragt. Am Ende werden die Namen ausgegeben und bei Spieler 1 ist eine Lücke. Die Konsole sieht dann also so aus:
Nach Spieler 1 kann ich also als Einziges nicht den Namen eingeben.
Ich habe rausgefunden, dass, wenn ich statt int num = getPlayerNums(s) eine feste Zahl, also int num = 5 eingebe, alles funktioniert.
Ist bestimmt ganz einfacher Fehler, aber ich komm nicht drauf.
Danke für eure Hilfe
LG Erik
hier mal ein kleines Programm:
Java:
import java.util.Scanner;
public class Spiel {
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
int num = getPlayerNum(s);
String[] names = new String[num];
for(int i=0;i<num;i++)
{
System.out.println("Spieler " + (i+1) + ", wie heißt du?");
names[i] = s.nextLine();
}
for(String index:names)
{
System.out.println(index);
}
}
static int getPlayerNum(Scanner s)
{
int number;
System.out.println("Wie viele Spieler?");
number = s.nextInt();
return number;
}
}
Zuerst wird der Spieler also über die Funktion getPlayerNum gefragt, wie viele Spieler mitspielen. Dieser Wert wird in num gespeichert.
Dann wird über die for-Schleife jeder Spieler gefragt, wie er heißt.
Allerdings wird beim ersten Durchlauf der Spieler, also Spieler 1 übersprungen. Danach wird ganz normal weiter gefragt. Am Ende werden die Namen ausgegeben und bei Spieler 1 ist eine Lücke. Die Konsole sieht dann also so aus:
Code:
Wie viele Spieler?
3
Spieler 1, wie heißt du?
Spieler 2, wie heißt du?
Max
Spieler 3, wie heißt du?
Moritz
Max
Moritz
Nach Spieler 1 kann ich also als Einziges nicht den Namen eingeben.
Ich habe rausgefunden, dass, wenn ich statt int num = getPlayerNums(s) eine feste Zahl, also int num = 5 eingebe, alles funktioniert.
Ist bestimmt ganz einfacher Fehler, aber ich komm nicht drauf.
Danke für eure Hilfe
LG Erik
Zuletzt bearbeitet: