java - if else block is not printing out statement for rock paper scissors game -


hey i'm trying figure out i'm doing wrong here. have been making rock paper scissors game in java through netbeans ide. know ive seen alot of questions regarding in if else statements trying print out statements if condition met. if player 1 throws rock , player 2 throws anything, including tie, else not printing out statement when ran. code below, know guys specific question , smaller sections of code feel need post full code see went wrong. if makes sense! help.

 public static void main(string[] args) {     scanner in = new scanner(system.in);     string personplay; //player -- "r", "p", or "s"     string seconduser; //player b     scanner scan = new scanner(system.in);       system.out.println("player 1please enter name");     string name1;     name1 = scan.next();     system.out.println("hello " + name1);     system.out.println("hello player 2");     system.out.println("player 2 please enter name");     string name2;     name2 = scan.next();     system.out.println("hello "+name2);     system.out.println(name1 + "  enter r rock, p paper, s scissors: ");   //get player's play -- note stored string     personplay = scan.next();     personplay = personplay.tolowercase();     system.out.println(name2 + " enter r rock, p paper, , s scissors");     seconduser = scan.next();     seconduser = seconduser.tolowercase();       if (personplay.equals(seconduser)) {        system.out.println("it's tie!");     } else if (personplay.equals("r")) {        if (seconduser.equals("s")) {           system.out.println("rock beats scissors! victory "+name1);        } else if (seconduser.equals("p")) {           system.out.println("paper beats rock! victory "+name2);        } if (personplay.equals("p")) {           if (seconduser.equals("s")) {               system.out.println("scissors cut paper! victory "+name2);           } else if (seconduser.equals("r")) {               system.out.println("paper covers rock! victory "+name1);           } if (personplay.equals("s")) {               if (seconduser.equals("p")) {                   system.out.println("scissors beat paper! victory "+name1);               }           } else if (seconduser.equals("r")) {               system.out.println("rock beats scissors! victory "+name2);           }         }       }     }   } 

your conditions check if person threw paper ("p") or scissors ("s") or nested inside condition person threw rock ("r") , never true.

you need check if person threw paper or scissor in separate else if cases after you've checked rock.

} else if (personplay.equals("r")) {     if (seconduser.equals("s")) {         system.out.println("rock beats scissors! victory "+name1);     } else if (seconduser.equals("p")) {       system.out.println("paper beats rock! victory "+name2);     } } else if (personplay.equals("p")) {     // test second user rock , scissors here } else if (personplay.equals("s")) {     // test second user paper , rock here } 

you should add validation checks entries made both players limited 3 legal choices.


Comments

Popular posts from this blog

python - TypeError: start must be a integer -

c# - DevExpress RepositoryItemComboBox BackColor property ignored -

django - Creating multiple model instances in DRF3 -