Vragen naar 1 of 2 spelers voor een spel

Status
Niet open voor verdere reacties.

PieterNoens

Gebruiker
Lid geworden
26 feb 2013
Berichten
6
Beste

BIj het maken van zeeslag wil ik vragen naar de aantal spelers. Dit mislukt echter. Wanneer ik onderstaande code gebruik en ik geef 1 in vraagt hij de naam van de speler1 niet meer, ook wanneer ik 2 ingeef, vraagt hij ook niet meer naar de naam van speler1. Het komt er wel op maar ik heb geen tijd om dit de naam in te geven en enter te doen. Het is opgelost als ik een invoer.nextLine() er tussen zet, maar is daar geen beter oplossing voor of heeft iemand hier een verklaring voor ?

String naam1;
String naam2;
System.out.println("Wil je met 1 of 2 spelers spelen?\n");
int spelers = invoer.nextInt();
if (spelers == 1) {
System.out.println("Naam speler 1: ");
naam1 = invoer.nextLine();
naam2 = "Computer";
} else {
System.out.println("Naam speler 1: ");
naam1 = invoer.nextLine();
System.out.println("Naam speler 2: ");
naam2 = invoer.nextLine();
}
if (naam1.equals(naam2)) {
naam2 += "(1)";
}

Dank bij voorbaat
Pieter Noens
 
De declaratie: is Scanner invoer = new Scanner(System.in);
en met een BufferedReader heb ik al eens gewerkt en dit lost het probleem niet op...
 
Probeer dit eens, even snel in elkaar gezet:
Code:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class zeeslag {
	public static void main(String[] args){      
    	String naam1;
    	String naam2;
	      try {
	    	  InputStreamReader isr = new InputStreamReader(System.in);
	    	  BufferedReader br = new BufferedReader(isr);

	        	System.out.println("Wil je met 1 of 2 spelers spelen?");
	        	int spelers = Integer.parseInt(br.readLine());
	        	if (spelers == 1) {
	        		System.out.println("Naam speler 1:");
	        		naam1 = br.readLine();
	        		naam2 = "Computer";
	        	} else {
	        		System.out.println("Naam speler 1:");
	        		naam1 = br.readLine();
	        		System.out.println("Naam speler 2:");
	        		naam2 = br.readLine();
	        	}
	        	if (naam1.equals(naam2)) {
	        		naam2 += "(1)";
	        	}
	        	System.out.println("Speler 1: " + naam1);
	        	System.out.println("Speler 2: " + naam2);
	      } // end try
	      catch (IOException e) {
	    	  e.printStackTrace();
	      }
	}
}
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan