exception - Getting a NoSuchElementsException in Java? -


ok, java class's final project we're supposed implement simplified version of craps runs 10 rounds. whenever run this, nosuchelementsexception line "int b=std.nextint()". why that? opened scanner object , whatnot, wont let me enter data proceed game, throwing exception instead. same exception "system.out.println(now.tostring());" line in main method. how not have elements?

public class player { private int bet;//how bet private boolean pass;//they chose pass private boolean dpass;//they chose dont pass private boolean win;//did win? private int money=20;//how have //private string continuity="initial";  //modifier methods public void newbet(int x){this.bet=x;} public void pass(boolean x){this.pass=x;} public void dpass(boolean x){this.dpass=x;} public void didyouwin(boolean x){this.win=x;} public void newmoney(int x){this.money+=x;} //public void keepplaying(string s){this.continuity=s;}  //accessor methods public int getbet(){return this.bet;} public boolean getpass(){return this.pass;} public boolean getdpass(){return dpass;} public boolean getresult(){return this.win;} public int getmoney(){return this.money;} public boolean iswinning(){return this.win;} //public string playing(){return continuity;} public string tostring(){     return "bet: $"+this.bet+"\nbet on pass: "+this.pass+"\nbet on don't pass: "+this.dpass+"\nmoney:s"+this.money; }  //constructor method public player(int bet, boolean pass, boolean dpass){     this.bet=bet;     this.pass=pass;     this.dpass=dpass; } 

}

actual game play code<<<<<<<<<<<<<<<<<<<<<<<<<<

import java.util.*; 

public class trial1 {

public static int rolldice(){           //method dice roll     int[] die1={1, 2, 3, 4, 5, 6};     int[] die2={1, 2, 3, 4, 5, 6};     random r=new random();     int i1=r.nextint(6-0);     int i2=r.nextint(6-0);     int sum=die1[i1]+die2[i2];     system.out.println("\ndie 1: "+die1[i1]+"\ndie 2: "+die2[i2]+"\ntotal sum: "+sum);     return sum;  }  public static int roll7(){//roll 7     if (rolldice()==7){         return 2;     }     else return roll7(); }  public static int pointroll(int x){//if person rolled 4,5,6,8,9,10...     int a=rolldice();     if (a==x){         return roll7();     }     else if (a==7){         return 1;     }     else return pointroll(x); }  public static int comeoutroll(){//1 = pass loses, 2 = pass wins, 3 = pass loses , dont pass gets nothing     int x=rolldice();     if ((x==2)||(x==3)) {         return 1;         }     else if ((x==7)||(x==11)){         return 2;     }     else if (x==12){         return 3;     }     else return pointroll(x); } public static player initializegame(){     //initialize stats , player     system.out.println("please enter how you'd bet (max $5)");     scanner std=new scanner(system.in);     int b=std.nextint();     system.out.println("please enter 1 if bet pass or 2 if bet don't pass");     int p=std.nextint();     boolean betpass, betdpass;     if (p==1){         betpass=true;         betdpass=false;     }     else {         betpass=false;         betdpass=true;     }     player name=new player(b, betpass, betdpass);     system.out.print(name.tostring());     std.close();     return name; } public static player begingame(player name){     //start actual game process without betting ie dice rolling , stat changing -->will return player's status     //boolean pass=name.getpass();     //boolean neutral=false;     int result=comeoutroll();     //find out if player won money or lost money     if (name.getpass()){//if player bet on pass         if (result==1){             name.newmoney(name.getmoney()-name.getbet());         }         else if (result==2){             name.newmoney(name.getmoney()+name.getbet());         }         else {             name.newmoney(name.getmoney()-name.getbet());         }     }     else {//if player bet dont pass         if (result==1){             name.newmoney(name.getmoney()+name.getbet());         }         else if (result==2){             name.newmoney(name.getmoney()-name.getbet());         }         else {             name.didyouwin(false);         }      }     if (name.getmoney()<=0){name.didyouwin(false);}//setting win data yes or no. if no money, u lose     else {name.didyouwin(true);}  public static player continue(player name){//just begin game, adding new bet     system.out.println("\nplease enter how you'd bet (max $5)");     scanner std=new scanner(system.in);     int b=std.nextint();     system.out.println("please enter 1 if bet pass or 2 if bet don't pass");     int p=std.nextint();     boolean betpass, betdpass;     if (p==1){         betpass=true;         betdpass=false;     }     else {         betpass=false;         betdpass=true;     }     name.pass(betpass);     name.dpass(betdpass);     name.newbet(b);     system.out.println(name.tostring());     return begingame(name); } public static void loss(player name){//losing message     system.out.println("you lose!!!!!!!! hahahahahaha!!!!!\n"+name.tostring()); } public static void end(player name){//end game message     system.out.println("thank playing!"); }  public static player run(){     player name = initializegame();     return begingame(name); }  public static void main(string[] args){     system.out.println("welcome version of craps!");     player now=run();     (int i=1;i<=10;i++){         if (now.iswinning()){             system.out.println("round "+i);             system.out.println(now.tostring());             now=continue(now);             i++;         }         else {             loss(now);             system.out.print(now.tostring());             end(now);             i=11;         }     } } 

}

the nosuchelementsexception means tried int scanner, std, there no next int. throws error let know input bad.


Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -