編輯:我已經修復我的程序,以便它的工作,並且我添加了括號。 但是,我遇到了另一個錯誤。我的代碼不會在用戶贏得遊戲時結束。我希望它結束,所以請幫助我。這裏是我下面的代碼:遊戲不結束在java岩石紙剪刀遊戲
public void rockPaperScissors()
{
System.out.println ("First one to 3 Points wins the battle!");
char again = 'y';
while (again == 'y'){
int rPoint = 0;
int uPoint = 0;
int game = 1;
System.out.println ("\nLET THE BATTLE BEGIN!");
while (uPoint < 3 || rPoint < 3) {
String user = uChoice();
System.out.println (user + ", I choose you!");
String rival = rChoice();
System.out.println ("Your rival has chosen " + rival + "!");
String win = winner (rival, user);
if (win == "r")
{
rPoint++;
System.out.println ("\nYour rival has won the match.");
}
else if (win == "u")
{
uPoint++;
System.out.println ("\nYou have won the match!");
}
else
System.out.println ("\nBoth Pokemon have fainted! It's a tie!");
System.out.println ("Points: You " + uPoint + " Rival: " + rPoint);
if (uPoint == 3) {
System.out.println ("Congrats! You have beaten your rival!");
break;
}
else if (rPoint == 3) {
System.out.println ("Too bad! Your rival has beaten you!");
again = IBIO.inputChar ("\nWant to try again? (y/n) ");
uPoint = 0;
rPoint = 0;
}
}
}
}
public boolean isValid (String c)
{
if (c.equals ("Bulbasaur") || c.equals ("BULBASAUR") || c.equals ("bulbasaur") || c.equals ("B") || c.equals ("b") || c.equals ("Charmander") || c.equals ("CHARMANDER") || c.equals ("charmander") || c.equals ("c") || c.equals ("C") || c.equals ("CHARMANDER") || c.equals ("SQUIRTLE") || c.equals ("Squirtle") || c.equals ("squirtle") || c.equals ("s") || c.equals ("S"))
return true;
else
return false;
}
public String uChoice()
{
printSlow ("Pokemon: Bulbasaur, Charmander, Squirtle");
String c = IBIO.inputString ("Which Pokemon do you choose? ");
while (!isValid (c))
{
System.out.println ("You don't have that Pokemon. Try again.");
c = IBIO.inputString ("Which Pokemon do you choose? ");
}
if (c.equals ("Bulbasaur") || c.equals ("BULBASAUR") || c.equals ("bulbasaur") || c.equals ("b") || c.equals ("B"))
return "Bulbasaur";
else if (c.equals ("Charmander") || c.equals ("CHARMANDER") || c.equals ("charmander") || c.equals ("c") || c.equals ("C"))
return "Charmander";
else
return "Squirtle";
}
public String rChoice()
{
int num = (int)(Math.random()*3) + 1;
if (num == 1)
return "Bulbasaur";
else if (num == 2)
return "Charmander";
else
return "Squirtle";
}
public String winner (String rival, String user)
{
if ((rival == "Bulbasaur" && user == "Squirtle") || (rival == "Charmander" && user == "Bulbasaur") || (rival == "Squirtle" && user == "Charmander"))
return "r";
else if ((user == "Bulbasaur" && rival == "Squirtle") || (user == "Charmander" && rival == "Bulbasaur") || (user == "Squirtle" && rival == "Charmander"))
return "u";
else
return "b";
}
你在java文件中間缺少'}'。我建議您使用像eclipse這樣的環境來標記這種錯誤並自動生成{} – Moshe9362
正確縮進您的代碼,您將看到@ Moshe9362提到的錯誤。 – reduckted