Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- \\------------------------------------------//
- // CSCI 1100 \\
- \\ Primary Education Project //
- // Part 2 \\
- \\ Brennan Collier //
- //------------------------------------------\\
- */
- import java.util.Scanner;
- import java.util.Random;
- public class ArithmeticChallengeVersion2{
- public static void main(String[] args){
- Scanner keyboard = new Scanner(System.in);
- Random generator = new Random();
- //Variable Declaration
- int level = 0, i, count = 0, num1 = 0, num2 = 0, input, answer = 0;
- String name, challenge;
- //Introduction and Name Input
- System.out.println("HI - I am your friendly Math Tutor.");
- System.out.print("What is your name? ");
- name = keyboard.nextLine();
- //Challenge Select
- System.out.println("What challenge do you choose?");
- System.out.println("1 - Addition");
- System.out.println("2 - Subtraction");
- System.out.println("3 - Division");
- System.out.println("4 - Multiplication");
- challenge = keyboard.nextLine();
- //Level Select
- System.out.print("What level do you choose? Enter 1, 2 or 3: ");
- level = keyboard.nextInt();
- //Clarifying Statement
- System.out.println( );
- System.out.println("OK " + name + "!");
- System.out.print("Here are 10 " + challenge);
- System.out.println(" exercises for you at level " + level + ".");
- System.out.println("Good Luck! :D");
- System.out.println( );
- //Challenge Select
- if(challenge.equalsIgnoreCase("addition")||challenge.equals("+"))
- count = additionChallenge(level);
- else if(challenge.equalsIgnoreCase("subtraction")||challenge.equals("-"))
- count = subtractionChallenge(level);
- else if(challenge.equalsIgnoreCase("division")||challenge.equals("/"))
- count = divisionChallenge(level);
- else if(challenge.equalsIgnoreCase("multiplication")||challenge.equals("x"))
- count = multiplicationChallenge(level);
- else{
- System.out.println("ERROR - Invalid Input!");
- System.exit(0);
- }
- //Results
- System.out.println();
- System.out.println("You got " + count + " right out of 10");
- //Advisory Statement
- if(count >= 9 && level != 3)
- System.out.println("Select a higher level of difficulty next time.");
- else if(count == 9 && level == 3)
- System.out.println("Please try the test agian!");
- else if(count >= 6 && count <= 8)
- System.out.println("Please try the test again!");
- else if(count < 6 && level == 1)
- System.out.println("You should ask for Extra Help from your teacher!");
- else if(count < 6 && level != 1)
- System.out.println("Select a lower level of difficulty next time!");
- else if(level == 3 && count == 10){
- System.out.println("Excellent!");
- System.out.print("This program is not of any further use to you!");
- }
- //Closing Statement
- System.out.println(" Bye!");
- }
- //Addition Challenge
- public static int additionChallenge(int level){
- Scanner keyboard = new Scanner(System.in);
- Random generator = new Random();
- int i, count = 0, num1 = 0, num2 = 0, input, answer = 0;
- String name;
- for(i = 0; i < 10; i++){
- //Level 1
- if(level == 1){
- //Two random numbers generated num1 range[1,9] num2 range[1,9] with answer less than 10
- num1 = generator.nextInt(9 -1 +1)+1;
- num2 = generator.nextInt(9 -1 +1)+1;
- answer = num1 + num2;
- //Restricts the answer to less than 10
- while(answer > 10){
- num1 = generator.nextInt(9);
- answer = num1 + num2;
- }
- }
- //Level 2
- if(level == 2){
- //Two random numbers generated num1 range[1,9] num2 range[1,9]
- num1 = generator.nextInt(9 -1 +1)+1;
- num2 = generator.nextInt(9 -1 +1)+1;
- answer = num1 + num2;
- }
- //Level 3
- if(level == 3){
- //Two random numbers generated num1 range[1,50] num2 range[1,50]
- num1 = generator.nextInt(50-1 +1)+1;
- num2 = generator.nextInt(50-1 +1)+1;
- answer = num1 + num2;
- }
- //User's Answer
- System.out.print(num1 + " + " + num2 + " = ");
- input = keyboard.nextInt();
- //Answer Checker
- if(input == answer){
- System.out.println("Correct!");
- count += 1;
- }
- else{
- System.out.print("Oops! ");
- System.out.println(num1 + " + " + num2 + " = " + answer);
- }
- }
- return count;
- }
- //Subtraction Challenge
- public static int subtractionChallenge(int level){
- Scanner keyboard = new Scanner(System.in);
- Random generator = new Random();
- int i, count = 0, num1 = 0, num2 = 0, input, answer = 0;
- String name;
- for(i = 0; i < 10; i++){
- //Level 1
- if(level == 1){
- //Two random numbers generated num1 range[1,9] num2 range[1,9] with answer less than 10
- num1 = generator.nextInt(9 -1 +1)+1;
- num2 = generator.nextInt(9 -1 +1)+1;
- answer = num1 - num2;
- //Restricts the answer to less than 10 and greater than 0
- while(answer > 10 && answer < 0){
- num1 = generator.nextInt(9);
- answer = num1 - num2;
- }
- }
- //Level 2
- if(level == 2){
- //Two random numbers generated num1 range[1,50] num2 range[1,9]
- num1 = generator.nextInt(50 -1 +1)+1;
- num2 = generator.nextInt(9 -1 +1)+1;
- answer = num1 - num2;
- //Restricts answer to greater than 0
- while(answer <= 0){
- num1 = generator.nextInt(9-1 +1)+1;
- answer = num1 - num2;
- }
- }
- //Level 3
- if(level == 3){
- //Two random numbers generated num1 range[1,50] num2 range[1,100]
- num1 = generator.nextInt(50-1 +1)+1;
- num2 = generator.nextInt(100-1 +1)+1;
- answer = num1 - num2;
- //Restricts answer to greater than 0
- while(answer <= 0){
- num1 = generator.nextInt(50-1 +1)+1;
- answer = num1 - num2;
- }
- }
- //User's Answer
- System.out.print(num1 + " - " + num2 + " = ");
- input = keyboard.nextInt();
- //Answer Checker
- if(input == answer){
- System.out.println("Correct!");
- count += 1;
- }
- else{
- System.out.print("Oops! ");
- System.out.println(num1 + " - " + num2 + " = " + answer);
- }
- }
- return count;
- }
- //Division Challenge
- public static int divisionChallenge(int level){
- Scanner keyboard = new Scanner(System.in);
- Random generator = new Random();
- int i, count = 0;
- int num1 = 0, num2 = 0, input, answer = 0;
- String name;
- for(i = 0; i < 10; i++){
- //Level 1
- if(level == 1){
- //Two random numbers generated num1 range[1,20] num2 range[1,20] with answer less than 10
- num1 = generator.nextInt(20 -1 +1)+1;
- num2 = generator.nextInt(20 -1 +1)+1;
- answer = num1 / num2;
- //Restricts the answer to less than 10
- while(num1%num2 != 0){
- num1 = generator.nextInt(20);
- answer = num1 / num2;
- }
- }
- //Level 2
- if(level == 2){
- //Two random numbers generated num1 range[1,50] num2 range[1,50]
- num1 = generator.nextInt(50 -1 +1)+1;
- num2 = generator.nextInt(50 -1 +1)+1;
- answer = num1 / num2;
- //Restricts the answer to whole intger numbers
- while(num1%num2 != 0){
- num1 = generator.nextInt(50 -1 +1)+1;
- answer = num1 / num2;
- }
- }
- // Level 3
- if(level == 3){
- //Two random numbers generated num1 range[1,100] num2 range[1,100]
- num1 = generator.nextInt(100-1 +1)+1;
- num2 = generator.nextInt(100-1 +1)+1;
- answer = num1 / num2;
- //Restricts the answer to whole intger numbers
- while(num1%num2 != 0){
- num1 = generator.nextInt(100-1 +1)+1;
- answer = num1 / num2;
- }
- }
- //User's Answer
- System.out.print(num1 + " ÷ " + num2 + " = ");
- input = keyboard.nextInt();
- //Answer Checker
- if(input == answer){
- System.out.println("Correct!");
- count += 1;
- }
- else{
- System.out.print("Oops! ");
- System.out.println(num1 + " ÷ " + num2 + " = " + answer);
- }
- }
- return count;
- }
- //Multiplication Challenge
- public static int multiplicationChallenge(int level){
- Scanner keyboard = new Scanner(System.in);
- Random generator = new Random();
- int i, count = 0;
- int num1 = 0, num2 = 0, input, answer = 0;
- String name;
- for(i = 0; i < 10; i++){
- //Level 1
- if(level == 1){
- //Two random numbers generated num1 range[1,9] num2 range[1,9] with answer less than 10
- num1 = generator.nextInt(9 -1 +1)+1;
- num2 = generator.nextInt(9 -1 +1)+1;
- answer = num1 * num2;
- //Restricts the answer to less than 10
- while(answer > 10){
- num1 = generator.nextInt(9);
- answer = num1 * num2;
- }
- }
- //Level 2
- if(level == 2){
- //Two random numbers generated num1 range[1,9] num2 range[1,9]
- num1 = generator.nextInt(9 -1 +1)+1;
- num2 = generator.nextInt(9 -1 +1)+1;
- answer = num1 * num2;
- }
- // Level 3
- if(level == 3){
- //Two random numbers generated num1 range[1,50] num2 range[1,50]
- num1 = generator.nextInt(25-1 +1)+1;
- num2 = generator.nextInt(25-1 +1)+1;
- answer = num1 * num2;
- }
- //User's Answer
- System.out.print(num1 + " x " + num2 + " = ");
- input = keyboard.nextInt();
- //Answer Checker
- if(input == answer){
- System.out.println("Correct!");
- count += 1;
- }
- else{
- System.out.print("Oops! ");
- System.out.println(num1 + " x " + num2 + " = " + answer);
- }
- }
- return count;
- }
- }
Add Comment
Please, Sign In to add comment