문자열 초기화를 시도했지만 아무 소용이 없습니다. 나는 모든 솔루션을 시험해 보았습니다. 나는 그것이 부적절한 것인지, 아니면 새로운 솔루션이 필요한지 확신 할 수 없습니다. 이미 프로그램의 논리를 알아 냈기 때문에, 그저 초기화를 시도하는 데 도움이 필요합니다. 문자열 값. 누구든지 도울 수 있다면, 나는 많은 의무가있을 것이다!문자열 변수가 초기화되지 않았을 수 있습니다 (줄 34에 오류가 있음)
P.S 도전을 원하고 srings를 사용하여 나를 저주합니다. -_-
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 + ".");
}
}
그래서 선언 할 때 문자열 변수를 ""로 설정하십시오. – OldProgrammer