i have a java code completed but need to add in there if the user answers incorr
ID: 3645882 • Letter: I
Question
i have a java code completed but need to add in there if the user answers incorrectly then they are asked the same question again till they get it correct and it should not just give them the answer they incorrectly answersed the code is belowimport javax.swing.JOptionPane;
;import javax.swing.*;
import java.util.Scanner;
public class Assignment4{
public static void main(String[] args) {
int sum =0;
// Keep reading data until the user answers No
int option = JOptionPane.YES_OPTION;
while (option == JOptionPane.YES_OPTION) {
// will display random numbers up to 12
int number1= (int)(Math.random() * 12);
int number2= (int)(Math.random() * 12);
String choice=JOptionPane.showInputDialog("enter '1' for Addition,'2' for multiplication,'3' for subtraction");
if(choice.equals("2"))
{
// will ask user to answer the total of the 2 random numbers
String dataString = JOptionPane.showInputDialog ("What is "+number1 + " * " +number2 + " ? ");
sum= number1 * number2;
Scanner input = new Scanner(System.in);
int data = Integer.parseInt(dataString);
sum = data;
// this will check to see if answer is correct or incorrect
// will display message based on answer
if (number1 * number2 == sum)
JOptionPane.showMessageDialog(null, "You answered " + sum + " which is correct ");
else JOptionPane.showMessageDialog(null, "You are incorrect, the correct answer is " + (number1 * number2));
// will ask user if they wish to continue after they have answered the question
option = JOptionPane.showConfirmDialog(null, "Would you like another question?");
}
else if(choice.equals("3"))
{
// will ask user to answer the total of the 2 random numbers
String dataString = JOptionPane.showInputDialog ("What is "+number1 + "- " +number2 + " ? ");
int diff= number1-number2;
Scanner input = new Scanner(System.in);
int data = Integer.parseInt(dataString);
diff=data;
// this will check to see if answer is correct or incorrect
// will display message based on answer
if ((number1 - number2) == diff)
JOptionPane.showMessageDialog(null, "You answered " + diff + " which is correct ");
else JOptionPane.showMessageDialog(null, "You are incorrect, the correct answer is " + (number1 - number2));
// will ask user if they wish to continue after they have answered the question
option = JOptionPane.showConfirmDialog(null, "Would you like another question?");
}
else if(choice.equals("1"))
{
// will ask user to answer the total of the 2 random numbers
String dataString = JOptionPane.showInputDialog ("What is "+number1 + " + " +number2 + " ? ");
sum= number1 + number2;
Scanner input = new Scanner(System.in);
int data = Integer.parseInt(dataString);
sum = data;
// this will check to see if answer is correct or incorrect
// will display message based on answer
if ((number1 + number2) == sum)
JOptionPane.showMessageDialog(null, "You answered " + sum + " which is correct ");
else JOptionPane.showMessageDialog(null, "You are incorrect, the correct answer is " + (number1 + number2));
// will ask user if they wish to continue after they have answered the question
option = JOptionPane.showConfirmDialog(null, "Would you like another question?");
}
}
}
}
Explanation / Answer
import javax.swing.JOptionPane; ;import javax.swing.*; import java.util.Scanner; public class Assignment4{ public static void main(String[] args) { int sum =0; // Keep reading data until the user answers No int option = JOptionPane.YES_OPTION; while (option == JOptionPane.YES_OPTION) { // will display random numbers up to 12 int number1= (int)(Math.random() * 12); int number2= (int)(Math.random() * 12); String choice=JOptionPane.showInputDialog("enter '1' for Addition,'2' for multiplication,'3' for subtraction"); while(choice.equals("1") || choice.equals("2") || choice.equals("3")) { switch(choice) { case "2": // will ask user to answer the total of the 2 random numbers String dataString = JOptionPane.showInputDialog ("What is "+number1 + " * " +number2 + " ? "); sum= number1 * number2; Scanner input = new Scanner(System.in); int data = Integer.parseInt(dataString); sum = data; // this will check to see if answer is correct or incorrect // will display message based on answer if (number1 * number2 == sum) JOptionPane.showMessageDialog(null, "You answered " + sum + " which is correct "); else JOptionPane.showMessageDialog(null, "You are incorrect, the correct answer is " + (number1 * number2)); // will ask user if they wish to continue after they have answered the question option = JOptionPane.showConfirmDialog(null, "Would you like another question?"); break; case "3": // will ask user to answer the total of the 2 random numbers String dataString = JOptionPane.showInputDialog ("What is "+number1 + "- " +number2 + " ? "); int diff= number1-number2; Scanner input = new Scanner(System.in); int data = Integer.parseInt(dataString); diff=data; // this will check to see if answer is correct or incorrect // will display message based on answer if ((number1 - number2) == diff) JOptionPane.showMessageDialog(null, "You answered " + diff + " which is correct "); else JOptionPane.showMessageDialog(null, "You are incorrect, the correct answer is " + (number1 - number2)); // will ask user if they wish to continue after they have answered the question option = JOptionPane.showConfirmDialog(null, "Would you like another question?"); break; case "1": // will ask user to answer the total of the 2 random numbers String dataString = JOptionPane.showInputDialog ("What is "+number1 + " + " +number2 + " ? "); sum= number1 + number2; Scanner input = new Scanner(System.in); int data = Integer.parseInt(dataString); sum = data; // this will check to see if answer is correct or incorrect // will display message based on answer if ((number1 + number2) == sum) JOptionPane.showMessageDialog(null, "You answered " + sum + " which is correct "); else JOptionPane.showMessageDialog(null, "You are incorrect, the correct answer is " + (number1 + number2)); // will ask user if they wish to continue after they have answered the question option = JOptionPane.showConfirmDialog(null, "Would you like another question?"); break; default: String choice=JOptionPane.showInputDialog("enter '1' for Addition,'2' for multiplication,'3' for subtraction"); break; } } } }
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.