Write a short quiz program which asks two true/false questions and stores the user's answers as booleans. At the end of the program it should print the user's answers with the correct answers. Note: you should use the same quiz questions and correct answers as the sample run below. Sample run: Java is an object-oriented programming language, true or false? true There are only 2 possible values which can be held by a boolean variable, true or false? false Question 1 - Your answer: true. Correct answer: true Question 2 - Your answer: false. Correct answer: true

in java

1 answer

Sure! Below is a simple Java program that implements a true/false quiz with two questions. The program stores the user's answers as booleans and prints out both the user's answers and the correct answers at the end.

import java.util.Scanner;

public class Quiz {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // Questions and corresponding correct answers
        String question1 = "Java is an object-oriented programming language, true or false?";
        boolean correctAnswer1 = true;

        String question2 = "There are only 2 possible values which can be held by a boolean variable, true or false?";
        boolean correctAnswer2 = true;

        // Ask the first question
        System.out.println(question1);
        boolean userAnswer1 = getBooleanAnswer(scanner);

        // Ask the second question
        System.out.println(question2);
        boolean userAnswer2 = getBooleanAnswer(scanner);

        // Print user's answers and correct answers
        System.out.println("Question 1 - Your answer: " + userAnswer1 + ". Correct answer: " + correctAnswer1);
        System.out.println("Question 2 - Your answer: " + userAnswer2 + ". Correct answer: " + correctAnswer2);

        scanner.close();
    }

    // Helper method to get boolean answer from user
    private static boolean getBooleanAnswer(Scanner scanner) {
        String input = scanner.nextLine().trim().toLowerCase();
        
        // Interpret the user's input as a boolean
        if ("true".equals(input)) {
            return true;
        } else if ("false".equals(input)) {
            return false;
        } else {
            System.out.println("Invalid input! Please enter true or false.");
            return getBooleanAnswer(scanner); // Recursively ask again if the input is invalid
        }
    }
}

Explanation

  1. Question Declaration: The questions are stored in string variables along with their correct boolean answers.
  2. User Input: The program prompts the user for their answers, reads the input, and converts it to a boolean value.
  3. Validation: The getBooleanAnswer method ensures that the user inputs either "true" or "false". If the input is invalid, it prompts the user again.
  4. Output: At the end of the quiz, the program prints out the user's answers along with the correct ones.

You can compile and run the program to see how it works!