Guest User

Untitled

a guest
Apr 24th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.21 KB | None | 0 0
  1. /*
  2. \\------------------------------------------//
  3. //   CSCI 1100                               \\
  4. \\  Primary Education Project               //
  5. //  Part 2                                  \\
  6. \\  Brennan Collier                               //
  7. //------------------------------------------\\
  8. */
  9.  
  10. import java.util.Scanner;
  11. import java.util.Random;
  12.  
  13. public class ArithmeticChallengeVersion2{
  14.     public static void main(String[] args){
  15.    
  16.         Scanner keyboard = new Scanner(System.in);
  17.         Random generator = new Random();
  18.        
  19.         //Variable Declaration
  20.         int level = 0, i, count = 0, num1 = 0, num2 = 0, input, answer = 0;
  21.         String name, challenge;
  22.        
  23.         //Introduction and Name Input
  24.         System.out.println("HI - I am your friendly Math Tutor.");
  25.         System.out.print("What is your name? ");
  26.         name = keyboard.nextLine();
  27.        
  28.         //Challenge Select
  29.         System.out.println("What challenge do you choose?");
  30.         System.out.println("1 - Addition");
  31.         System.out.println("2 - Subtraction");
  32.         System.out.println("3 - Division");
  33.         System.out.println("4 - Multiplication");
  34.         challenge = keyboard.nextLine();
  35.        
  36.         //Level Select
  37.         System.out.print("What level do you choose? Enter 1, 2 or 3: ");
  38.         level = keyboard.nextInt();
  39.        
  40.         //Clarifying Statement 
  41.         System.out.println( );    
  42.         System.out.println("OK " + name + "!");
  43.       System.out.print("Here are 10 " + challenge);
  44.         System.out.println(" exercises for you at level " + level + ".");
  45.         System.out.println("Good Luck! :D");
  46.         System.out.println( );
  47.        
  48.         //Challenge Select
  49.         if(challenge.equalsIgnoreCase("addition")||challenge.equals("+"))
  50.             count = additionChallenge(level);
  51.         else if(challenge.equalsIgnoreCase("subtraction")||challenge.equals("-"))
  52.             count = subtractionChallenge(level);
  53.         else if(challenge.equalsIgnoreCase("division")||challenge.equals("/"))
  54.             count = divisionChallenge(level);
  55.         else if(challenge.equalsIgnoreCase("multiplication")||challenge.equals("x"))
  56.             count = multiplicationChallenge(level);
  57.         else{
  58.             System.out.println("ERROR - Invalid Input!");
  59.             System.exit(0);    
  60.         }
  61.        
  62.         //Results
  63.         System.out.println();
  64.         System.out.println("You got " + count + " right out of 10");
  65.        
  66.         //Advisory Statement
  67.         if(count >= 9 && level != 3)
  68.             System.out.println("Select a higher level of difficulty next time.");
  69.         else if(count == 9 && level == 3)
  70.             System.out.println("Please try the test agian!");
  71.         else if(count >= 6 && count <= 8)
  72.             System.out.println("Please try the test again!");
  73.         else if(count < 6 && level == 1)
  74.             System.out.println("You should ask for Extra Help from your teacher!");
  75.         else if(count < 6 && level != 1)
  76.             System.out.println("Select a lower level of difficulty next time!");
  77.         else if(level == 3 && count == 10){
  78.             System.out.println("Excellent!");
  79.             System.out.print("This program is not of any further use to you!");
  80.         }
  81.         //Closing Statement
  82.         System.out.println(" Bye!");
  83.     }
  84.    
  85.     //Addition Challenge
  86.     public static int additionChallenge(int level){
  87.         Scanner keyboard = new Scanner(System.in);
  88.         Random generator = new Random();
  89.        
  90.         int i, count = 0, num1 = 0, num2 = 0, input, answer = 0;
  91.         String name;
  92.        
  93.         for(i = 0; i < 10; i++){
  94.         //Level 1
  95.             if(level == 1){        
  96.             //Two random numbers generated num1 range[1,9] num2 range[1,9]  with answer less than 10
  97.                 num1 = generator.nextInt(9 -1 +1)+1;
  98.                 num2 = generator.nextInt(9 -1 +1)+1;
  99.                 answer = num1 + num2;
  100.                 //Restricts the answer to less than 10
  101.                 while(answer > 10){
  102.                     num1 = generator.nextInt(9);
  103.                     answer = num1 + num2;
  104.                 }
  105.             }
  106.         //Level 2
  107.             if(level == 2){    
  108.             //Two random numbers generated num1 range[1,9] num2 range[1,9]
  109.                 num1 = generator.nextInt(9 -1 +1)+1;
  110.                 num2 = generator.nextInt(9 -1 +1)+1;
  111.                 answer = num1 + num2;
  112.             }
  113.         //Level 3
  114.             if(level == 3){
  115.             //Two random numbers generated num1 range[1,50] num2 range[1,50]
  116.                 num1 = generator.nextInt(50-1 +1)+1;
  117.                 num2 = generator.nextInt(50-1 +1)+1;
  118.                 answer = num1 + num2;  
  119.             }
  120.             //User's Answer
  121.             System.out.print(num1 + " + " + num2 + " = ");
  122.             input = keyboard.nextInt();
  123.             //Answer Checker
  124.             if(input == answer){
  125.                 System.out.println("Correct!");
  126.                 count += 1;
  127.             }
  128.             else{
  129.                 System.out.print("Oops! ");
  130.                 System.out.println(num1 + " + " + num2 + " = " + answer);
  131.             }
  132.         }
  133.         return count;
  134.     }
  135.    
  136.     //Subtraction Challenge
  137.     public static int subtractionChallenge(int level){
  138.         Scanner keyboard = new Scanner(System.in);
  139.         Random generator = new Random();
  140.        
  141.         int i, count = 0, num1 = 0, num2 = 0, input, answer = 0;
  142.         String name;
  143.        
  144.         for(i = 0; i < 10; i++){
  145.         //Level 1
  146.             if(level == 1){        
  147.             //Two random numbers generated num1 range[1,9] num2 range[1,9]  with answer less than 10
  148.                 num1 = generator.nextInt(9 -1 +1)+1;
  149.                 num2 = generator.nextInt(9 -1 +1)+1;
  150.                 answer = num1 - num2;
  151.                 //Restricts the answer to less than 10 and greater than 0
  152.                 while(answer > 10 && answer < 0){
  153.                     num1 = generator.nextInt(9);
  154.                     answer = num1 - num2;
  155.                 }
  156.             }
  157.         //Level 2
  158.             if(level == 2){
  159.             //Two random numbers generated num1 range[1,50] num2 range[1,9]
  160.                 num1 = generator.nextInt(50 -1 +1)+1;
  161.                 num2 = generator.nextInt(9 -1 +1)+1;
  162.                 answer = num1 - num2;
  163.                 //Restricts answer to greater than 0
  164.                 while(answer <= 0){
  165.                     num1 = generator.nextInt(9-1 +1)+1;
  166.                     answer = num1 - num2;
  167.                 }
  168.             }
  169.         //Level 3
  170.             if(level == 3){
  171.             //Two random numbers generated num1 range[1,50] num2 range[1,100]
  172.                 num1 = generator.nextInt(50-1 +1)+1;
  173.                 num2 = generator.nextInt(100-1 +1)+1;
  174.                 answer = num1 - num2;
  175.                 //Restricts answer to greater than 0
  176.                 while(answer <= 0){
  177.                     num1 = generator.nextInt(50-1 +1)+1;
  178.                     answer = num1 - num2;
  179.                 }  
  180.             }
  181.        
  182.             //User's Answer
  183.             System.out.print(num1 + " - " + num2 + " = ");
  184.             input = keyboard.nextInt();
  185.        
  186.             //Answer Checker
  187.             if(input == answer){
  188.                 System.out.println("Correct!");
  189.                 count += 1;
  190.             }
  191.             else{
  192.                 System.out.print("Oops! ");
  193.                 System.out.println(num1 + " - " + num2 + " = " + answer);
  194.             }
  195.         }
  196.         return count;
  197.     }
  198.    
  199.     //Division Challenge
  200.     public static int divisionChallenge(int level){
  201.         Scanner keyboard = new Scanner(System.in);
  202.         Random generator = new Random();
  203.        
  204.         int i, count = 0;
  205.         int num1 = 0, num2 = 0, input, answer = 0;
  206.         String name;
  207.        
  208.         for(i = 0; i < 10; i++){
  209.         //Level 1
  210.             if(level == 1){        
  211.             //Two random numbers generated num1 range[1,20] num2 range[1,20]    with answer less than 10
  212.                 num1 = generator.nextInt(20 -1 +1)+1;
  213.                 num2 = generator.nextInt(20 -1 +1)+1;
  214.                 answer = num1 / num2;
  215.                 //Restricts the answer to less than 10
  216.                 while(num1%num2 != 0){
  217.                     num1 = generator.nextInt(20);
  218.                     answer = num1 / num2;
  219.                 }
  220.             }
  221.         //Level 2
  222.             if(level == 2){
  223.             //Two random numbers generated num1 range[1,50] num2 range[1,50]
  224.                 num1 = generator.nextInt(50 -1 +1)+1;
  225.                 num2 = generator.nextInt(50 -1 +1)+1;
  226.                 answer = num1 / num2;
  227.                 //Restricts the answer to whole intger numbers
  228.                 while(num1%num2 != 0){
  229.                     num1 = generator.nextInt(50 -1 +1)+1;
  230.                     answer = num1 / num2;
  231.                 }
  232.             }
  233.         // Level 3
  234.             if(level == 3){
  235.             //Two random numbers generated num1 range[1,100] num2 range[1,100]
  236.                 num1 = generator.nextInt(100-1 +1)+1;
  237.                 num2 = generator.nextInt(100-1 +1)+1;
  238.                 answer = num1 / num2;
  239.                 //Restricts the answer to whole intger numbers
  240.                 while(num1%num2 != 0){
  241.                     num1 = generator.nextInt(100-1 +1)+1;
  242.                     answer = num1 / num2;
  243.                 }  
  244.             }
  245.            
  246.             //User's Answer
  247.             System.out.print(num1 + " ÷ " + num2 + " = ");
  248.             input = keyboard.nextInt();
  249.            
  250.             //Answer Checker
  251.             if(input == answer){
  252.                 System.out.println("Correct!");
  253.                 count += 1;
  254.             }
  255.             else{
  256.                 System.out.print("Oops! ");
  257.                 System.out.println(num1 + " ÷ " + num2 + " = " + answer);
  258.             }
  259.         }
  260.         return count;
  261.     }
  262.    
  263.     //Multiplication Challenge
  264.     public static int multiplicationChallenge(int level){
  265.         Scanner keyboard = new Scanner(System.in);
  266.         Random generator = new Random();
  267.        
  268.         int i, count = 0;
  269.         int num1 = 0, num2 = 0, input, answer = 0;
  270.         String name;
  271.        
  272.         for(i = 0; i < 10; i++){
  273.         //Level 1
  274.             if(level == 1){        
  275.             //Two random numbers generated num1 range[1,9] num2 range[1,9]  with answer less than 10
  276.                 num1 = generator.nextInt(9 -1 +1)+1;
  277.                 num2 = generator.nextInt(9 -1 +1)+1;
  278.                 answer = num1 * num2;
  279.                 //Restricts the answer to less than 10
  280.                 while(answer > 10){
  281.                     num1 = generator.nextInt(9);
  282.                     answer = num1 * num2;
  283.                 }
  284.             }
  285.         //Level 2
  286.             if(level == 2){
  287.             //Two random numbers generated num1 range[1,9] num2 range[1,9]
  288.                 num1 = generator.nextInt(9 -1 +1)+1;
  289.                 num2 = generator.nextInt(9 -1 +1)+1;
  290.                 answer = num1 * num2;
  291.             }
  292.         // Level 3
  293.             if(level == 3){
  294.             //Two random numbers generated num1 range[1,50] num2 range[1,50]
  295.                 num1 = generator.nextInt(25-1 +1)+1;
  296.                 num2 = generator.nextInt(25-1 +1)+1;
  297.                 answer = num1 * num2;  
  298.             }
  299.        
  300.             //User's Answer
  301.             System.out.print(num1 + " x " + num2 + " = ");
  302.             input = keyboard.nextInt();
  303.        
  304.             //Answer Checker
  305.             if(input == answer){
  306.                 System.out.println("Correct!");
  307.                 count += 1;
  308.             }
  309.             else{
  310.                 System.out.print("Oops! ");
  311.                 System.out.println(num1 + " x " + num2 + " = " + answer);
  312.             }
  313.         }
  314.         return count;
  315.     }
  316.    
  317. }
Add Comment
Please, Sign In to add comment