Member 14007867 Ответов: 1

Как использовать 0 и логическое значение для выхода из программы


Я вывел тест на экран, и все работает просто отлично. Однако я не могу использовать 0 для выхода из теста, и в конце концов я не знаю, как использовать логическое значение, чтобы спросить пользователей, хотят ли они повторить тест или нет. Я должен иметь 0 в каждом вопросе. Это моя подсказка

Напишите приложение, которое включает в себя тест с множественным выбором из трех вопросов
о языке программирования Java. Каждый вопрос должен иметь четыре возможных ответа
(пронумерованы от 1 до 4). Кроме того, попросите пользователя ввести 0, чтобы выйти из теста. [Предположим, что пользователь вводит
только целые числа 1,2,3,4 или 0].
Во-первых, выведите сообщение о том, что этот тест включает в себя три вопроса о Java
язык программирования и отображение того, что каждый вопрос имеет четыре возможных ответа.
Если ответ правильный для данного вопроса, покажите, что ответ правильный. Если
ответ не является правильным для данного вопроса, отобразите правильный ответ. Если пользователь
правильно ответьте на три вопроса, покажите “отлично”, если два, покажите “очень хорошо”, если один или меньше, покажите “пора начинать изучать Java”. После этого спросите пользователя, хочет ли он играть снова [вы можете использовать логическую переменную]. Если пользователь вводит true, запустите игру снова. Если пользователь вводит false, то отобразите прощальное сообщение и завершите игру [предположим, что пользователь вводит только true или false]

Что я уже пробовал:

Вот мой код

import java.util.Scanner; // program uses Scanner class
public class MyTest {
	public static void main (String [] args) {
		System.out.println("\t\t\t**This is a Java programming quiz**");
		System.out.println("\tThere are 3 questions and each question has 4 possible choices");
		System.out.println();
		myTest();
		goodBye();
		
	}
	public static void myTest() {
		Scanner input = new Scanner (System.in); //Scanner object
	
			System.out.println("\t 1)Which of the following will declare an array and initialize it with 5 numbers: ");
			System.out.println("\t 1) Array a = new Array(5);");
			System.out.println("\t 2) int[] a = {23, 22, 21, 20,19};");
			System.out.println("\t 3) int a[] = new int [5];");
			System.out.println("\t 4) int[5] array;");
			System.out.print("\tChoose the best answer: ");
			int choice1 = input.nextInt();
			if (choice1 == 2){
				System.out.println("\tThat's correct!");
			}
			else{
			System.out.println("\tThat's not correct. The correct answer is int[] a = {23, 22, 21, 20,19};");
			}
			
			System.out.println();

			System.out.println(" \t2)Which of the following is a valid declaration of a boolean: ");
			System.out.println("\t 1) boolean b1 = 0;");
			System.out.println("\t 2) boolean b2 = 'false'; ");
			System.out.println("\t 3) boolean b3 = false;");
			System.out.println("\t 4) boolean b4 = no;");
			System.out.print("\tChoose the best answer: ");
			int choice2 = input.nextInt();
			if (choice2 == 3){
			System.out.println("\tThat's correct!");}
			else{
				System.out.println("\tThat's not correct. The correct answer is boolean b3 = false;");
			}
			
			System.out.println();
		
			System.out.println("\t3)Which of the following is function overloading: ");
			System.out.println("\t 1) Methods with same name but different parameters.");
			System.out.println("\t 2) Methods with same name but different return types.");
			System.out.println("\t 3) Methods with same name, same parameter types but different parameter names.");
			System.out.println("\t 4) None of the above.");
			System.out.print("\tChoose the best answer: ");
			int choice3 = input.nextInt();
			if (choice3 == 1){
			System.out.println("\tThat's correct!");}
			else{
				System.out.println("\tThat's not correct. The correct answer is Methods with same name but different parameters");
			}	
		
		
			if (choice1 == 2 && choice2 == 3 && choice3 == 1){
			System.out.println("\tExcellent!");}
		
			else if ((choice1 == 2 && choice2 == 3) || (choice1 == 2 && choice3 == 1)||(choice2 ==3 && choice3==1)){
			System.out.println("\tVery good!");}
		
			else if(choice1 == 2 || choice2 == 3 || choice3 ==1){
			System.out.println("\tIt is time to start to learning Java!");}
	
			System.out.println("Do you want to play again? Enter True or False: ");
			boolean again = input.nextBoolean();

	}//end method
	
	public static void goodBye() {
		System.out.println("Goodbye! Exiting......");
	}
}//end class

1 Ответов

Рейтинг:
6

Richard MacCutchan

Вам нужно запустить свой тест в цикле, что-то вроде:

boolean again = true;
while (again)
{
    // do the quiz questions

    again = input.nextBoolean();
}