【发布时间】:2016-12-07 19:09:41
【问题描述】:
我用java创建了一个猜谜游戏。这很简单:计算机选择一个随机数,用户可以选择是 5、10 还是 20 次猜测该数字的机会。每次猜测后,程序都会告诉他们他们的猜测是高于还是低于幻数。如果他们猜到了这个数字,他们会收到一条祝贺信息,并询问他们是否想再玩一次。如果他们没有猜到号码,他们也会收到一条消息,并询问他们是否想再玩一次。我想添加到我的代码中的一件事我似乎无法弄清楚...... 当用户猜到这个神奇的数字时,我想在祝贺信息之后做这样的事情:
祝贺你,鲍勃!你猜中了 6 次中的幻数。
你没有使用这些猜测:
7
8
9
10
我试过这个,我很快意识到这没有任何意义,但从这里我被卡住了。
System.out.println("You did not use these guesses: "+ (i-numberOfGuesses));
我应该如何包含这个?我宁愿不使用数组。
import java.util.Random;
import java.util.Scanner;
public class NewClass
{
public static void main(String [] args)
{
final String SENTINEL = "no";
int guess;
String playAgain;
int numberOfGuesses;
Scanner scan = new Scanner( System.in );
System.out.print( " Enter your name: ");
String name = scan.next();
System.out.print(" Would you like to try to guess a number? (Yes or No):");
String answer = scan.next();
while(!answer.equals(SENTINEL)){
if (answer.equals("yes"))
System.out.print("How many guesses would you like? (5, 10, 20): ");
do {
numberOfGuesses = scan.nextInt();
if (numberOfGuesses == 5 || numberOfGuesses == 10 || numberOfGuesses == 20 )
break;
System.out.print("How many guesses would you like? (5,10,20): ");
} while (true);
Random random = new Random();
int randomNumber = random.nextInt(100) + 1;
{
for(int i = 1; i <= numberOfGuesses ; i++){
System.out.print("Enter guess #"+i+": ");
guess = scan.nextInt();
if (guess > randomNumber && guess <= 100)
System.out.println("Your guess, "+guess+", is greater than the magic number.");
else if (guess < randomNumber && guess > 0)
System.out.println("Your guess, "+guess+", is less than the magic number.");
else if (guess == randomNumber){
System.out.println("Congratulations, "+name+"! You guessed the magic "
+ "number in "+i+" guesses.");
System.out.println("You did not use these guesses: "+ (i-numberOfGuesses));
break;
}
else
i--;
if (i == numberOfGuesses)
System.out.println("Sorry, " + name+", you did not guess the magic "
+ "number, " + randomNumber + ", in "+ numberOfGuesses + " tries.");
}
System.out.print("Would you like to try to guess a number? (Yes or No):");
answer = scan.next();
}
}}}
【问题讨论】:
标签: java