Untitled
unknown
plain_text
3 years ago
4.5 kB
3
Indexable
import java.util.Locale; import java.util.Scanner; public class Activity4{ public static void main(String[] args) { final int NUMBER_OF_QUESTIONS = 5; // Number of questions int correctCount = 0; // Count the number of correct answers int count = 0; // Count the number of questions long startTime = System.currentTimeMillis(); String output = ""; // output string is initially empty Scanner input = new Scanner(System.in); input.useLocale(Locale.US); while (count < NUMBER_OF_QUESTIONS) { int number1 = (int) (Math.random() * 10); int number2 = (int) (Math.random() * 10); int min = 0; int max = 1000; int randomNumber1 = min + (int) (Math.random() * ((max - min) + 1)); int randomNumber2 = min + (int) (Math.random() * ((max - min) + 1)); if (randomNumber1 < randomNumber2) { int temp = randomNumber1; randomNumber1 = randomNumber2; randomNumber2 = temp; } int randomDigit = (int) (Math.random() * 5); String operation = switch (randomDigit) { case 0: yield operation = "+"; case 1: yield operation = "-"; case 2: yield operation = "*"; case 3: yield operation = "/"; default: yield operation = "%"; }; if ((operation != "/" || operation != "%") && randomNumber2 != 0) { System.out.print("What is " + randomNumber1 + operation + randomNumber2 + "? "); } else { continue; } int answer; double answerDouble; // 4. Grade the answer and display the result switch (operation) { case "-": answer = input.nextInt(); if (randomNumber1 - randomNumber2 == answer) { System.out.println("You are correct!"); correctCount++; } else System.out.println("Your answer is wrong.\n" + randomNumber1 + operation + randomNumber2 + " should be " + (randomNumber1 - randomNumber2)); // Increase the count count++; output += "\n" + randomNumber1 + operation + randomNumber2 + "=" + answer + ((randomNumber1 - randomNumber2 == answer) ? " correct" : " wrong"); break; case "+": answer = input.nextInt(); if (randomNumber1 + randomNumber2 == answer) { System.out.println("You are correct!"); correctCount++; } else System.out.println("Your answer is wrong.\n" + randomNumber1 + operation + randomNumber2 + " should be " + (randomNumber1 + randomNumber2)); // Increase the count count++; output += "\n" + randomNumber1 + operation + randomNumber2 + "=" + answer + ((randomNumber1 + randomNumber2 == answer) ? " correct" : " wrong"); break; case "*": answer = input.nextInt(); if (randomNumber1 * randomNumber2 == answer) { System.out.println("You are correct!"); correctCount++; } else System.out.println("Your answer is wrong.\n" + randomNumber1 + operation + randomNumber2 + " should be " + (randomNumber1 * randomNumber2)); // Increase the count count++; output += "\n" + randomNumber1 + operation + randomNumber2 + "=" + answer + ((randomNumber1 * randomNumber2 == answer) ? " correct" : " wrong"); break; case "/": answerDouble = input.nextDouble(); if ((double) randomNumber1 / randomNumber2 == answerDouble) { System.out.println("You are correct!"); correctCount++; } else System.out.println("Your answer is wrong.\n" + randomNumber1 + operation + randomNumber2 + " should be " + ((double) randomNumber1 / randomNumber2)); // Increase the count count++; output += "\n" + randomNumber1 + operation + randomNumber2 + "=" + answerDouble + (((double) randomNumber1 / randomNumber2 == answerDouble) ? " correct" : " wrong"); break; default: answer = input.nextInt(); if (randomNumber1 % randomNumber2 == answer) { System.out.println("You are correct!"); correctCount++; } else System.out.println("Your answer is wrong.\n" + randomNumber1 + operation + randomNumber2 + " should be " + (randomNumber1 % randomNumber2)); // Increase the count count++; output += "\n" + randomNumber1 + operation + randomNumber2 + "=" + answer + ((randomNumber1 % randomNumber2 == answer) ? " correct" : " wrong"); break; } } long endTime = System.currentTimeMillis(); long testTime = endTime - startTime; System.out.println( "Correct count is " + correctCount + "\nTest time is " + testTime / 1000 + " seconds\n" + output); } }
Editor is loading...