Question

In: Computer Science

Write a JAVA application that asks elementary students a set of 10 math problems First ask...

Write a JAVA application that asks elementary students a set of 10 math problems

  1. First ask the user for a level and a problem type.
  2. You need to validate the level and problem type and loop until the user enters a correct one.
  3. There should be 3 levels. Level 1 operands would have values in the range of 0-9, level 2 operands would have values in the range of 0-99, and level 3 operands would have values in the range of 0-999.
  4. Each problem will consist of three randomly generated operands.
  5. There should be 4 problem types. Problem type 1 requires the student to find the sum of the three numbers, problem type 2 requires the user to find the integer average of the three numbers, problem type 3 requires the user to find the largest of the three numbers, and problem type 4 requires the user to find the smallest of the three numbers.
  6. The program should ask the user 10 questions.
  7. The program should randomly generate the numbers for each problem and display them to the user. Then the program should get the users answer and check that answer.
  8. The program should provide individual feedback for each problem. There should be 3 different positive and 3 different negative feedbacks chosen from for each problem.
  9. After the user finishes their 10 problems, display the number they got right and then query them if they want to play again. If they choose to play again, get a new level and problem type before asking 10 new problems.

Solutions

Expert Solution

Note: Hi, Just because of time limitation for answering this question, I am not able to comment the whole code as the total code is of more than 340 lines.

Java Code :

import java.util.*; // for using Scanner class and Random class
class Problems
{
   public static void main(String args[])
   {
       Scanner obj = new Scanner(System.in);
       while(true)
       {
           int level , problem_type;
           while(true)
           {
               System.out.print("\nEnter level No. (1-3) : ");
               level = obj.nextInt();
              
               if(level <1 || level>3)
                   System.out.println("\nInvalid Level No. Pleaase try again ! ");
               else
                   break;
           }
          
           while(true)
           {
               System.out.print("\nEnter problem type (1-4) : ");
               problem_type = obj.nextInt();
               if(problem_type <1 || problem_type>4)
                   System.out.println("\nInvalid Problem Type. Pleaase try again ! ");
               else
                   break;
           }
          
           int correct = 0 , incorrect = 0;
           for(int i=1;i<=10;i++)
           {
               Random rand = new Random();       
              
               if(level == 1)
               {
                   int first = rand.nextInt(10);
                   int second = rand.nextInt(10);
                   int third = rand.nextInt(10);
                  
                   if(problem_type == 1)
                   {
                       System.out.print("\n first Number = "+first);
                       System.out.print("\n second Number = "+second);
                       System.out.print("\n third Number = "+third);
                      
                       System.out.print("\nEnter the sum of these three numbers : ");
                       int sum = obj.nextInt();
                      
                       if(sum == (first + second + third) )
                           correct += 3;
                       else
                           incorrect += 3;
                      
                   }
                   else if(problem_type == 2)
                   {
                       System.out.print("\n first Number = "+first);
                       System.out.print("\n second Number = "+second);
                       System.out.print("\n third Number = "+third);
                      
                       System.out.print("\nEnter the integer average of these three numbers : ");
                       int avg = obj.nextInt();
                      
                       if(avg == (first + second + third)/3 )
                       {
                           correct += 3;
                           System.out.println("Correct Answer !");
                       }
                       else
                       {
                           incorrect += 3;
                           System.out.println("Incorrect Answer !");
                       }
                   }
                   else if(problem_type == 3)
                   {
                       System.out.print("\n first Number = "+first);
                       System.out.print("\n second Number = "+second);
                       System.out.print("\n third Number = "+third);
                      
                       int largest = first;
                       if(second >= first && second >= third)
                           largest = second;
                       if(third >= second && third >= first)
                           largest = third;
                      
                       System.out.println("\nEnter the largest of these three numbers : ");
                       int input = obj.nextInt();
                      
                       if(largest == input )
                       {
                           correct += 3;
                           System.out.println("Correct Answer !");
                       }
                       else
                       {
                           incorrect += 3;
                           System.out.println("Incorrect Answer !");
                       }
                   }
                   else if(problem_type == 4)
                   {
                       System.out.print("\n first Number = "+first);
                       System.out.print("\n second Number = "+second);
                       System.out.print("\n third Number = "+third);
                      
                       int smallest = first;
                       if(second <= first && second <= third)
                           smallest = second;
                       if(third <= second && third <= first)
                           smallest = third;
                      
                       System.out.println("\nEnter the largest of these three numbers : ");
                       int input = obj.nextInt();
                      
                       if(smallest == input )
                       {
                           correct += 3;
                           System.out.println("Correct Answer !");
                       }
                       else
                       {
                           incorrect += 3;
                           System.out.println("Incorrect Answer !");
                       }
                   }
               }
               else if(level == 2)
               {
                   int first = rand.nextInt(100);
                   int second = rand.nextInt(100);
                   int third = rand.nextInt(100);
                  
                   if(problem_type == 1)
                   {
                       System.out.print("\n first Number = "+first);
                       System.out.print("\n second Number = "+second);
                       System.out.print("\n third Number = "+third);
                      
                       System.out.println("\nEnter the sum of these three numbers : ");
                       int sum = obj.nextInt();
                      
                       if(sum == (first + second + third) )
                       {
                           correct += 3;
                           System.out.println("Correct Answer !");
                       }
                       else
                       {
                           incorrect += 3;
                           System.out.println("Incorrect Answer !");
                       }
                      
                   }
                   else if(problem_type == 2)
                   {
                       System.out.print("\n first Number = "+first);
                       System.out.print("\n second Number = "+second);
                       System.out.print("\n third Number = "+third);
                      
                       System.out.println("\nEnter the integer average of these three numbers : ");
                       int avg = obj.nextInt();
                      
                       if(avg == (first + second + third)/3 )
                       {
                           correct += 3;
                           System.out.println("Correct Answer !");
                       }
                       else
                       {
                           incorrect += 3;
                           System.out.println("Incorrect Answer !");
                       }
                   }
                   else if(problem_type == 3)
                   {
                       System.out.print("\n first Number = "+first);
                       System.out.print("\n second Number = "+second);
                       System.out.print("\n third Number = "+third);
                      
                       int largest = first;
                       if(second >= first && second >= third)
                           largest = second;
                       if(third >= second && third >= first)
                           largest = third;
                      
                       System.out.print("\nEnter the largest of these three numbers : ");
                       int input = obj.nextInt();
                      
                       if(largest == input )
                       {
                           correct += 3;
                           System.out.println("Correct Answer !");
                       }
                       else
                       {
                           incorrect += 3;
                           System.out.println("Incorrect Answer !");
                       }
                   }
                   else if(problem_type == 4)
                   {
                       System.out.print("\n first Number = "+first);
                       System.out.print("\n second Number = "+second);
                       System.out.print("\n third Number = "+third);
                      
                       int smallest = first;
                       if(second <= first && second <= third)
                           smallest = second;
                       if(third <= second && third <= first)
                           smallest = third;
                      
                       System.out.print("\nEnter the largest of these three numbers : ");
                       int input = obj.nextInt();
                      
                       if(smallest == input )
                       {
                           correct += 3;
                           System.out.println("Correct Answer !");
                       }
                       else
                       {
                           incorrect += 3;
                           System.out.println("Incorrect Answer !");
                       }
                   }
               }
               else if(level == 3)
               {
                   int first = rand.nextInt(1000);
                   int second = rand.nextInt(1000);
                   int third = rand.nextInt(1000);
                  
                   if(problem_type == 1)
                   {
                       System.out.print("\n first Number = "+first);
                       System.out.print("\n second Number = "+second);
                       System.out.print("\n third Number = "+third);
                      
                       System.out.print("\nEnter the sum of these three numbers : ");
                       int sum = obj.nextInt();
                      
                       if(sum == (first + second + third) )
                       {
                           correct += 3;
                           System.out.println("Correct Answer !");
                       }
                       else
                       {
                           incorrect += 3;
                           System.out.println("Incorrect Answer !");
                       }
                      
                   }
                   else if(problem_type == 2)
                   {
                       System.out.print("\n first Number = "+first);
                       System.out.print("\n second Number = "+second);
                       System.out.print("\n third Number = "+third);
                      
                       System.out.println("\nEnter the integer average of these three numbers : ");
                       int avg = obj.nextInt();
                      
                       if(avg == (first + second + third)/3 )
                       {
                           correct += 3;
                           System.out.println("Correct Answer !");
                       }
                       else
                       {
                           incorrect += 3;
                           System.out.println("Incorrect Answer !");
                       }
                   }
                   else if(problem_type == 3)
                   {
                       System.out.print("\n first Number = "+first);
                       System.out.print("\n second Number = "+second);
                       System.out.print("\n third Number = "+third);
                      
                       int largest = first;
                       if(second >= first && second >= third)
                           largest = second;
                       if(third >= second && third >= first)
                           largest = third;
                      
                       System.out.print("\nEnter the largest of these three numbers : ");
                       int input = obj.nextInt();
                      
                       if(largest == input )
                       {
                           correct += 3;
                           System.out.println("Correct Answer !");
                       }
                       else
                       {
                           incorrect += 3;
                           System.out.println("Incorrect Answer !");
                       }
                   }
                   else if(problem_type == 4)
                   {
                       System.out.print("\n first Number = "+first);
                       System.out.print("\n second Number = "+second);
                       System.out.print("\n third Number = "+third);
                      
                       int smallest = first;
                       if(second <= first && second <= third)
                           smallest = second;
                       if(third <= second && third <= first)
                           smallest = third;
                      
                       System.out.print("\nEnter the largest of these three numbers : ");
                       int input = obj.nextInt();
                      
                       if(smallest == input )
                       {
                           correct += 3;
                           System.out.println("Correct Answer !");
                       }
                       else
                       {
                           incorrect += 3;
                           System.out.println("Incorrect Answer !");
                       }
                   }
               }  
           }
           System.out.println("\nYou got "+correct+" marks out of 30 ");
           System.out.print("\nDo you want to play again (yes / no)? ");
           String choice = obj.next();
           if(choice.equals("no"))
           {
               System.out.println("Thanks for playing ! ");
               break;
           }
       }
   }
}

Output :


Related Solutions

Write a JAVA application that asks elementary students a set of 10 math problems First ask...
Write a JAVA application that asks elementary students a set of 10 math problems First ask the user for a level and a problem type. You need to validate the level and problem type and loop until the user enters a correct one. There should be 3 levels. Level 1 operands would have values in the range of 0-9, level 2 operands would have values in the range of 0-99, and level 3 operands would have values in the range...
Create an application that asks a user to answer 5 math questions. JAVA
Create an application that asks a user to answer 5 math questions. JAVA
Exercise Overview Implement a Java program that creates math flashcards for elementary grade students. User will...
Exercise Overview Implement a Java program that creates math flashcards for elementary grade students. User will enter his/her name, the type (+, -, *, /), the range of the factors to be used in the problems, and the number of problems to work. The system will provide problems, evaluate user responses to the problems, score the problems, and provide statistics about the session at the end. Functional Requirements User enters name at the beginning of a session. System covers four...
Write a Java program to do the following: Ask the user to enter 10 first names...
Write a Java program to do the following: Ask the user to enter 10 first names (one word - no hyphen or apostrophe) using the keyboard. 1) Display the list of names one per line on the Console. 2) Display the names again, after eliminating duplicates using a HashSet (Your code MUST use HashSet).
1) Write Java application that asks the user to enter the cost of each apple and...
1) Write Java application that asks the user to enter the cost of each apple and number of apples bought. Application obtains the values from the user and prints the total cost of apples. 2) Write a java application that computes the cost of 135 apples, where the cost of each apple is $0.30. 3)Write a java application that prepares the Stationery List. Various entries in the table must be obtained from the user. Display the Stationary list in the...
Write a program in Java that first asks the user to type in today's price of...
Write a program in Java that first asks the user to type in today's price of one dollar in Japanese yen, then reads U.S. dollar values and converts each to yen. Use 0 as a sentinel to denote the end of dollar input. THEN the program reads a sequence of yen amounts and converts them to dollars. The second sequence is terminated by another zero value.
Create a Java application called ValidatePassword to validate a user’s password. Write a program that asks...
Create a Java application called ValidatePassword to validate a user’s password. Write a program that asks for a password, then asks again to confirm it. If the passwords don’t match or the rules are not fulfilled, prompt again. Your program should include a method that checks whether a password is valid. From that method, call a different method to validate the uppercase, lowercase, and digit requirements for a valid password. Your program should contain at least four methods in addition...
Write a Java program that will first ask the user how many grades they want to...
Write a Java program that will first ask the user how many grades they want to enter. Then use a do…while loop to populate an array of that size with grades entered by the user. Then sort the array. In a for loop read through that array, display the grades and total the grades. After the loop, calculate the average of those grades and display that average. Specifications Prompt the user for the number of grades they would like to...
Write a java console application,. It simulates the vending machine and ask two questions. When you...
Write a java console application,. It simulates the vending machine and ask two questions. When you run your code, it will do following: Computer output: What item you want? User input: Soda If user input is Soda Computer output: How many cans do you want? User input:            3 Computer output: Please pay $3.00. END The vending machine has 3 items for sale: Soda the price is $1.50/can. Computer should ask “How many cans do you want?” Chips, the price is $1.20/bag....
Write a java program that asks user to enter a set of positive integer values. When...
Write a java program that asks user to enter a set of positive integer values. When the user stops (think of sentinel value to stop), the program display the maximum value entered by the user. Your program should recognize if no value is entered without using counter.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT