【发布时间】:2015-10-04 05:13:36
【问题描述】:
我正在做一个本质上是电影测验的程序,从我工作正常的文本文件中读取电影标题/发行日期/流派/总金额,问题是通过退出使这个 do while 循环正常工作在任何时候,用户在两次出现提示时都输入 no(在每个问题之后,最后) 非常感谢任何建议/提示!
这是我所拥有的:
private static void movieQuiz (Movies[] movieRecord){
int score = 0;
Scanner keyboard = new Scanner (System.in);
String userChoice;
System.out.println("You have selected the Movie Quiz! The instructions"
+ " are as follows: The program will output \nthe title of one of "
+ "the highest grossing films of all time, your job is "
+ "to guess which year \nit was released. A point will be added "
+ "to your score for each correct answer, and your total \npoints will"
+ " display at the end or until you want to give up. Have fun and"
+ " good luck!\n");
int test = 0;
loadMovies(movieRecord);
System.out.println("Are you ready to begin?");
userChoice = keyboard.next();
//do this if they want to run it again
do {
for (int count = 0; count <= movieRecord.length-1; count++) {
System.out.println("Movie #" + (test+1) + ": " + movieRecord[count].movieTitle);
System.out.println("Guess the year");
int guess = keyboard.nextInt();
if (guess == movieRecord[count].releaseYear){
System.out.println("DING DING DING! (+1) \n" );
score++;
}
else {
System.out.println("Wrong (+0) \n");
}
System.out.println("Continue? (Currently on #" + (1 + test) + " out of "
+ movieRecord.length + ")");
userChoice = keyboard.next();
test++;
}
} while (userChoice.charAt(0) == 'y');
//display if they type 'no' at any time, ending the program
System.out.println("Total Score is: " + score + " out of " + movieRecord.length);
System.out.println("AGAIN? yes/no?");
userChoice = keyboard.next();
}
【问题讨论】: