わかった。
これが私の質問です。サイコロゲームを作っているときにちょっと困っています。私が問題を抱えている部分は、do while ループを使用して終了させることです。これが私のコードです。そして、私が何を意味するのかをさらに説明します
import java.util.Scanner;
public class Dice
{
public static void main (String[] args)
{
int diceGuess;
int rollNum, roll1, roll2, roll3;
String playAgain = "yes";
Scanner sc = new Scanner(System.in);
// Create two separate dice objects to create a pair of dice
Roll die1 = new Roll();
Roll die2 = new Roll();
// get from the user the number of dice rolls
System.out.print ("Please enter a number between 2 and 12 to begin: ");
diceGuess = sc.nextInt();
do
{
// loop to show rolls
for (rollNum = 1; rollNum <=3; rollNum++)
{
System.out.println("**********Roll #: " + rollNum + " ************");
roll1 = die1.roll();
roll2 = die2.roll();
//if statement to display you win if you win, and to make the loop break.
if(diceGuess==roll1+roll2)
{
System.out.println("You win!");
rollNum = 4;
}
if(rollNum == 3)
{
System.out.println("You lose.\n");
System.out.println("Would you like to play again?");
playAgain = sc.nextLine();
rollNum ++;
}
}
}while(playAgain == "yes");
}
}
これは私のユーティリティ クラスです。もう一度プレイするかどうかをユーザーに尋ね、ユーザーが「いいえ」と入力した場合は終了させたい。これは私の側の小さな誤解に過ぎないと確信しています。
ありがとうございます。
そしてheres他のクラス
//Justin Le
//Dice class
import java.util.Random;
public class Roll
{
//variables used in class
private Random randomRoll = new Random();
private int roll;
boolean playAgain = false;
//constructor
public Roll()
{
roll = 0;
}
//method named roll to return roll number and inside, calls a method to display the roll.
public int roll()
{
roll = randomRoll.nextInt(6) + 1;
showRoll(roll); //accesses showRoll to output in driver class.
return roll;
}
public boolean test()
{
playAgain = !playAgain;
return playAgain;
}
//displays picture of dice roll
private void showRoll(int r)
{
switch(r)
{
case 1:
System.out.println("One: \n" +
" \n " +
" * \n" +
" \n ");
break;
case 2:
System.out.println("Two: \n" +
"* \n" +
" \n" +
" *\n");
break;
case 3:
System.out.println("Three:\n" +
"* \n" +
" * \n" +
" *\n");
break;
case 4:
System.out.println("Four:\n" +
"* *\n" +
" \n" +
"* *\n");
break;
case 5:
System.out.println("Five:\n" +
"* *\n" +
" * \n" +
"* *\n");
break;
case 6:
System.out.println("Six: \n" +
"* *\n" +
"* *\n" +
"* *\n");
break;
default:
System.out.println("error\n");
}
}
}