我一直在尝试让字符串初始化,但无济于事。我已经尝试了我遇到的所有解决方案,我不确定是因为我的无能还是因为我需要一个新的解决方案,我已经解决了程序的逻辑,所以我只需要帮助尝试初始化字符串值。如果有人可以提供帮助,我将不胜感激!
P.S 诅咒我想要挑战并使用环。 -_-
import java.util.Scanner;
import java.util.Random;
public class RockPaperScissors
{
public static void main (String[] args)
{
String player, computer;
int answer;
Scanner scan = new Scanner (System.in);
Random generator = new Random();
answer = generator.nextInt(3) + 1;
if (answer < 1 || answer > 3)
answer = generator.nextInt(3) + 1;
if (answer == 1)
computer = "rock";
if (answer == 2)
computer = "paper";
if (answer == 3)
computer = "scissors";
System.out.println ("Please choose rock, paper, or scissors.");
player = scan.nextLine();
if (!player.equalsIgnoreCase("rock") || !player.equalsIgnoreCase("paper")
|| !player.equalsIgnoreCase("scissors"))
{
System.out.println ("Please correctly enter one of the three
choices: rock, paper, and scissors.");
player = scan.nextLine();
}
if (player.compareTo(computer) == 0)
System.out.println ("It's a draw! You both chose " + player +
"!");
if ((computer.equalsIgnoreCase("rock") &&
player.equalsIgnoreCase("scissors")) &&
(computer.equalsIgnoreCase("scissors") && player.equalsIgnoreCase("paper"))
&& (computer.equalsIgnoreCase("paper") && player.equalsIgnoreCase("rock")))
System.out.println ("You lost! The computer chose " + computer + "
and you chose " + player + ".");
if ((player.equalsIgnoreCase("rock") &&
computer.equalsIgnoreCase("scissors")) &&
(player.equalsIgnoreCase("scissors") &&
computer.equalsIgnoreCase("paper")) &&
(player.equalsIgnoreCase("paper") &&
computer.equalsIgnoreCase("rock")))
System.out.println ("You won! CONGRATULATIONS! The computer chose
" + computer + " and you chose " + player + ".");
}
}
String computer; // not initialized
将此更改为
String computer = null; or ""// initialized
if (player.compareTo(computer) == 0)
因为,变量计算机会根据条件进行分配。如果您提到的上述条件不满足。该值为 none,因此仅显示错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)