Answer:
Here is the JAVA program:
import java.util.Scanner; //to accept input from user
public class FunWithBranching { //class name
public static void main(String[] args) { //start of main function
Scanner input = new Scanner(System.in); //creates Scanner object
System.out.print("Enter your name: ");
//prompts user to enter name
String userName = input.nextLine(); //stores the name
System.out.print("Welcome " + userName + "! Please answer the following questions:\n"); //prompts user to answer the questions
int randomOperand1 = (int)(20 * Math.random()) + 1; //generates random number for operand 1 (1-20)
int randomOperand2 = (int)(20 * Math.random()) + 1; //generates random number for operand 2 (1-20)
int randomAdd = randomOperand1 + randomOperand2; //performs addition of two random numbers and stores result in randomAdd
int randomMul = randomOperand1 * randomOperand2; //performs multiplication of two random numbers
int randomDiv = randomOperand1 / randomOperand2; //performs division of two random numbers
int randomMod = randomOperand1 % randomOperand2; //performs modulo of two random numbers
int correctAns = 0; //stores number of correct answers
System.out.print(randomOperand1 + " + " + randomOperand2 + " = "); //displays random number + random number
int AdditionGuess = input.nextInt(); //reads the answer of addition from user and stores it in AdditionGuess
if (AdditionGuess == randomOperand1 + randomOperand2) { //if the user answer is correct
System.out.println("Correct!"); //displays correct
correctAns++; //adds 1 to the count of correctAns every time the user gives correct answer of addition
} else { //if user answer is incorrect
System.out.println("Wrong!"); //displays wrong
System.out.println("The correct answer is " + randomAdd); } //displays the correct answer of addition
System.out.print(randomOperand1 + " * " + randomOperand2 + " = "); //displays random number * random number
int MultiplicationGuess = input.nextInt(); //reads the answer of multiplication from user and stores it in MultiplicationGuess
if (MultiplicationGuess == randomOperand1 * randomOperand2) { //if the user answer is correct
System.out.println("Correct!"); //displays correct
correctAns++; //adds 1 to the count of correctAns every time the user gives correct answer of multiplication
}else{ //if user answer is incorrect
System.out.println("Wrong!"); //displays wrong
System.out.println("The correct answer is " + randomMul); } //displays the correct answer of multiplication
System.out.print(randomOperand1 + " / " + randomOperand2 + " = "); //displays random number / random number
int DivisionGuess = input.nextInt(); //reads the answer of division from user and stores it in DivisionGuess
if (DivisionGuess == randomOperand1 / randomOperand2) { //if the user answer is correct
System.out.println("Correct!"); //displays correct
correctAns++; //adds 1 to the count of correctAns every time the user gives correct answer of division
}else{ //if user answer is incorrect
System.out.println("Wrong!"); //displays wrong
System.out.println("The correct answer is " + randomDiv); } //displays the correct answer of division
System.out.print(randomOperand1 + " % " + randomOperand2 + " = "); //displays random number % random number
int ModGuess = input.nextInt(); //reads the answer of modulo from user and stores it in ModGuess
if (ModGuess == randomOperand1 % randomOperand2) { //if the user answer is correct
System.out.println("Correct!"); //displays correct
correctAns++; //adds 1 to the count of correctAns every time the user gives correct answer of modulo
}else{ //if user answer is incorrect
System.out.println("Wrong!"); //displays wrong
System.out.println("The correct answer is " + randomMod); } //displays the correct answer of modulo
double percentage = correctAns * 25; //computes percentage
System.out.println("You got " + correctAns + " correct answers."); //display number of correct answers given by user
System.out.println("That's " + percentage + "%!"); } } //displays percentage
Explanation:
The program is well explained in the comments mentioned with each line of code. The screenshot of the output is attached.