Hello,
I got an assignement for school where I have to make a game with matches.
This is what I got:
[code=java]
import javax.swing.JOp tionPane;
import java.util.Scann er;
public class Lucifer
{
int aantalLucifers, beurtSpelerEen, beurtSpelerTwee ;
int ingaveSpel;
Scanner input = new Scanner (System.in);
String next ="nee";
String eindeSpel ="nee";
public static void main(String[] args)
{
Lucifer luci = new Lucifer();
luci.start();
}
public void start()
{
berichtWelkom() ;
bepaalAantalLuc ifers();
do
{
ingaveSpelerEen ();
bepaalVerliezer ();
ingaveSpelerTwe e();
bepaalVerliezer ();
}
while((eindeSpe l.equals("nee") ) && (aantalLucifers > 0));
}
public void berichtWelkom()
{
JOptionPane.sho wMessageDialog( null,"Let the game begin\n\nPress OK to play");
}
public void bepaalAantalLuc ifers()
{
aantalLucifers = (int)((Math.ran dom()*20)+21);
System.out.prin tln("We gaan spelen met "+aantalLucifer s+" lucifers.\n");
}
public void ingaveSpelerEen ()
{
do
{
beurtSpelerTwee = 0;
beurtSpelerEen+ +;
System.out.prin t("Speler1:") ;
ingaveSpel = input.nextInt() ;
if(ingaveSpel == 1)
{
aantalLucifers -= 1;
System.out.prin tln("Er blijven nog: "+aantalLucifer s+ " lucifers over.\n");
next = "ja";
}
else if(ingaveSpel == 2)
{
aantalLucifers -= 2;
System.out.prin tln("Er blijven nog: "+aantalLucifer s+ " lucifers over.\n");
next = "ja";
}
else if(ingaveSpel == 3)
{
aantalLucifers -= 3;
System.out.prin tln("Er blijven nog: "+aantalLucifer s+ " lucifers over.\n");
next = "ja";
}
else
{
JOptionPane.sho wMessageDialog( null,"Foutieve ingave...\nGeli eve een getal tussen 1 en 3 in te geven.\n");
next = "nee";
}
} while(next != "ja");
}
public void ingaveSpelerTwe e()
{
do
{
beurtSpelerEen = 0;
beurtSpelerTwee ++;
System.out.prin t("Speler2:") ;
ingaveSpel = input.nextInt() ;
if(ingaveSpel == 1)
{
aantalLucifers -= 1;
System.out.prin tln("Er blijven nog: "+aantalLucifer s+ " lucifers over.\n");
next = "ja";
}
else if(ingaveSpel == 2)
{
aantalLucifers -= 2;
System.out.prin tln("Er blijven nog: "+aantalLucifer s+ " lucifers over.\n");
next = "ja";
}
else if(ingaveSpel == 3)
{
aantalLucifers -= 3;
System.out.prin tln("Er blijven nog: "+aantalLucifer s+ " lucifers over.\n");
next = "ja";
}
else
{
JOptionPane.sho wMessageDialog( null,"Foutieve ingave...\nGeef een aantal tussen 1 en 3 in aub\n");
next = "nee";
}
} while(next != "ja");
}
public void bepaalVerliezer ()
{
if((aantalLucif ers <= 0) && (beurtSpelerEen == 1))
{
eindeSpel = "ja";
JOptionPane.sho wMessageDialog( null,"Speler1 nam de laatste lucifer.\n\nGAM E OVER!\n");
}
else if((aantalLucif ers <= 0) && (beurtSpelerTwe e == 1))
{
eindeSpel = "ja";
JOptionPane.sho wMessageDialog( null,"Speler2 nam de laatste lucifer.\n\nGAM E OVER!\n");
}
}
}
[/code]
The problem I have is when I enter a string; example -> test or anything else. Then he gives an error instead of asking for an integer.
I hope you guys can help me out..
I got an assignement for school where I have to make a game with matches.
This is what I got:
[code=java]
import javax.swing.JOp tionPane;
import java.util.Scann er;
public class Lucifer
{
int aantalLucifers, beurtSpelerEen, beurtSpelerTwee ;
int ingaveSpel;
Scanner input = new Scanner (System.in);
String next ="nee";
String eindeSpel ="nee";
public static void main(String[] args)
{
Lucifer luci = new Lucifer();
luci.start();
}
public void start()
{
berichtWelkom() ;
bepaalAantalLuc ifers();
do
{
ingaveSpelerEen ();
bepaalVerliezer ();
ingaveSpelerTwe e();
bepaalVerliezer ();
}
while((eindeSpe l.equals("nee") ) && (aantalLucifers > 0));
}
public void berichtWelkom()
{
JOptionPane.sho wMessageDialog( null,"Let the game begin\n\nPress OK to play");
}
public void bepaalAantalLuc ifers()
{
aantalLucifers = (int)((Math.ran dom()*20)+21);
System.out.prin tln("We gaan spelen met "+aantalLucifer s+" lucifers.\n");
}
public void ingaveSpelerEen ()
{
do
{
beurtSpelerTwee = 0;
beurtSpelerEen+ +;
System.out.prin t("Speler1:") ;
ingaveSpel = input.nextInt() ;
if(ingaveSpel == 1)
{
aantalLucifers -= 1;
System.out.prin tln("Er blijven nog: "+aantalLucifer s+ " lucifers over.\n");
next = "ja";
}
else if(ingaveSpel == 2)
{
aantalLucifers -= 2;
System.out.prin tln("Er blijven nog: "+aantalLucifer s+ " lucifers over.\n");
next = "ja";
}
else if(ingaveSpel == 3)
{
aantalLucifers -= 3;
System.out.prin tln("Er blijven nog: "+aantalLucifer s+ " lucifers over.\n");
next = "ja";
}
else
{
JOptionPane.sho wMessageDialog( null,"Foutieve ingave...\nGeli eve een getal tussen 1 en 3 in te geven.\n");
next = "nee";
}
} while(next != "ja");
}
public void ingaveSpelerTwe e()
{
do
{
beurtSpelerEen = 0;
beurtSpelerTwee ++;
System.out.prin t("Speler2:") ;
ingaveSpel = input.nextInt() ;
if(ingaveSpel == 1)
{
aantalLucifers -= 1;
System.out.prin tln("Er blijven nog: "+aantalLucifer s+ " lucifers over.\n");
next = "ja";
}
else if(ingaveSpel == 2)
{
aantalLucifers -= 2;
System.out.prin tln("Er blijven nog: "+aantalLucifer s+ " lucifers over.\n");
next = "ja";
}
else if(ingaveSpel == 3)
{
aantalLucifers -= 3;
System.out.prin tln("Er blijven nog: "+aantalLucifer s+ " lucifers over.\n");
next = "ja";
}
else
{
JOptionPane.sho wMessageDialog( null,"Foutieve ingave...\nGeef een aantal tussen 1 en 3 in aub\n");
next = "nee";
}
} while(next != "ja");
}
public void bepaalVerliezer ()
{
if((aantalLucif ers <= 0) && (beurtSpelerEen == 1))
{
eindeSpel = "ja";
JOptionPane.sho wMessageDialog( null,"Speler1 nam de laatste lucifer.\n\nGAM E OVER!\n");
}
else if((aantalLucif ers <= 0) && (beurtSpelerTwe e == 1))
{
eindeSpel = "ja";
JOptionPane.sho wMessageDialog( null,"Speler2 nam de laatste lucifer.\n\nGAM E OVER!\n");
}
}
}
[/code]
The problem I have is when I enter a string; example -> test or anything else. Then he gives an error instead of asking for an integer.
I hope you guys can help me out..
Comment