0
제 질문은 일반적인 게임 알고리즘이 아닙니다. 내가 질문에 "true"로 응답하면 프로그램 출력을 "계속 하시겠습니까? 참 또는 거짓을 입력하십시오.": while 루프에서 첫 번째 사이클 이후에 출력
"Player one, throw your shape(rock, paper, scissors)!
Player two, throw your shape(rock, paper, scissors)!"
그래서 내가 첫 번째 사이클에 값을 입력 할 수 있지만 두 번째에 있습니다. 어떻게 해결할 수 있습니까? 감사.
코드는 다음 Scanner
은 당신이 다른 nextBoolean
아무것도, 종료조차 다음 줄에 요청 부울을 읽기 때문에
public static void main(String[] args) {
String playerOne;
String playerTwo;
Scanner myScan = new Scanner(System.in);
boolean playAgain = true;
do
{
System.out.println("Player one, throw your shape(rock, paper, scissors)! ");
playerOne = myScan.nextLine();
System.out.println("Player two, throw your shape(rock, paper, scissors)! ");
playerTwo = myScan.nextLine();
if (playerOne.equals("scissors") && playerTwo.equals("rock"))
{
System.out.println("Player one lost! Playr two won!");
}
else if (playerOne.equals("scissors") && playerTwo.equals("paper"))
{
System.out.println("Player one won! Player two lost!");
}
else if (playerOne.equals("rock") && playerTwo.equals("paper"))
{
System.out.println("Player one lost! Player two won!");
}
else if (playerOne.equals("rock") && playerTwo.equals("scissors"))
{
System.out.println("Player one won! Player two lost!");
}
else if (playerOne.equals("paper") && playerTwo.equals("scissors"))
{
System.out.println("Player one lost! Player two won!");
}
else if (playerOne.equals("paper") && playerTwo.equals("rock"))
{
System.out.println("Player one won! Player two lost!");
}
System.out.println("Do you want to continue? Enter true or false.");
playAgain = myScan.nextBoolean();
}while(playAgain);
}
}
프로그램이 정상적으로 작동하는 것 같습니다. "첫 번째주기가 아니라 두 번째주기"란 무엇을 의미합니까? "주기"를 어떻게 정의하고 있습니까? –
처음 작동하지만 "true"를 입력하면 프로그램에서 처음으로 입력을 요청하지 않고 플레이어 1을 출력하고 모양 (바위, 종이, 가위)을 던집니다! 플레이어 2 명, 모양을 던져주세요 (바위, 종이, 가위)! – Timur
그래서 게임을 계속하려면 입력을 건너 뜁니다. – Timur