gpt4 book ai didi

java - 做一个 java 测验并重复错误的答案?

转载 作者:行者123 更新时间:2023-11-30 04:41:19 24 4
gpt4 key购买 nike

我正在尝试创建一个测验,以便它询问您一个多项选择的问题,尽管我似乎无法弄清楚如何将其循环回到不正确的问题。我对 Java 编程还是个新手,不幸的是我的理解不太好..

这是我当前编码的内容,

import java.util.*;
import java.util.Scanner;
import javax.swing.JOptionPane;

public class Quiz2
{
public static int question;
public static int question2;
public static int question3;
public static int question4;
public static int question5;

public static String guess;
public static String guess2;
public static String guess3;
public static String guess4;
public static String guess5;

public static void main(String[] args)
{
//create a scanner object
Scanner sc = new Scanner(System.in);

JOptionPane.showMessageDialog(null, "Hi, This is my Quiz\nYou will be asked a total of 5 questions in multiple choice format\nPlease answer as A/B/C/D (Not case sensative)", "Introduction",
JOptionPane.INFORMATION_MESSAGE);

//Asks for a paricular item from the keyboard
guess = JOptionPane.showInputDialog(null, "1. Which of the following is not a bright colour?\nA. Cyan\nB. Green\nC. Black\nD. Yellow\nAnswer: ", "Question 1",
JOptionPane.INFORMATION_MESSAGE);

//Asks for a paricular item from the keyboard
guess2 = JOptionPane.showInputDialog(null, "2. What genre does the singer John Legend sing in?\nA. Pop\nB. R&b\nC. Rap\nD. Rock\nAnswer: ", "Question 2",
JOptionPane.INFORMATION_MESSAGE);

//Asks for a paricular item from the keyboard
guess3 = JOptionPane.showInputDialog(null, "3. What is the largest discovered Star in the Universe?\nA. The Sun\nB. VY Canis Majoris\nC. Eta Carinae\nD. Beetlejuice\nAnswer: ", "Question 2",
JOptionPane.INFORMATION_MESSAGE);

//Asks for a paricular item from the keyboard
guess4 = JOptionPane.showInputDialog(null, "4. Who is Ronaldinho Gaucho?\nA. A famous Soccer player\nB. A famous Singer\nC. The founder of Microsoft\nD. A famous Actor\nAnswer: ", "Question 2",
JOptionPane.INFORMATION_MESSAGE);

//Asks for a paricular item from the keyboard
guess5 = JOptionPane.showInputDialog(null, "5. Who is the actor who played the role as the terminator in the movie Last Action Hero?\nA. Arnold Schwarzenegger\nB. Adam Sandler\nC. Jean Claude Van Damme\nD. Sylvester Stallone\nAnswer: ", "Question 2",
JOptionPane.INFORMATION_MESSAGE);

char x1 = guess.charAt(0);
char x2 = guess2.charAt(0);
char x3 = guess3.charAt(0);
char x4 = guess4.charAt(0);
char x5 = guess5.charAt(0);

switch (x1)
{
case 'a':
case 'A':
JOptionPane.showMessageDialog(null, "Incorrect! Cyan is a bright colour, Please Try Again..", "Answer CHECK!",
JOptionPane.INFORMATION_MESSAGE);
break;
case 'b':
case 'B':
JOptionPane.showMessageDialog(null, "Incorrect! Green is a bright colour, Please Try Again..", "Answer CHECK!",
JOptionPane.INFORMATION_MESSAGE);
break;
case 'c':
case 'C':
JOptionPane.showMessageDialog(null, "Correct! Black is not a bright colour", "Answer CHECK!",
JOptionPane.INFORMATION_MESSAGE);
break;
case 'd':
case 'D':
JOptionPane.showMessageDialog(null, "Incorrect! Yellow is a bright colour, Please Try Again..", "Answer CHECK!",
JOptionPane.INFORMATION_MESSAGE);
break;
}



switch (x2)
{
case 'a':
case 'A':
JOptionPane.showMessageDialog(null, "Incorrect! John Legend is not a Pop Singer!,\nPlease Try Again..", "Answer CHECK!",
JOptionPane.INFORMATION_MESSAGE);
break;
case 'b':
case 'B':
JOptionPane.showMessageDialog(null, "Correct! John Legend is a R&B Singer!", "Answer CHECK!",
JOptionPane.INFORMATION_MESSAGE);
break;
case 'c':
case 'C':
JOptionPane.showMessageDialog(null, "Incorrect! John Legend does not Rap!,\nPlease Try Again..", "Answer CHECK!",
JOptionPane.INFORMATION_MESSAGE);
break;
case 'd':
case 'D':
JOptionPane.showMessageDialog(null, "Incorrect! John Legend is not in the genre of Rock!,\nPlease Try Again..", "Answer CHECK!",
JOptionPane.INFORMATION_MESSAGE);
break;
}

switch (x3)
{
case 'a':
case 'A':
JOptionPane.showMessageDialog(null, "Incorrect! The Sun is the Biggest Star in our Solar System and not the Universe!,\nPlease Try Again..", "Answer CHECK!",
JOptionPane.INFORMATION_MESSAGE);
break;
case 'b':
case 'B':
JOptionPane.showMessageDialog(null, "Correct! VY Canis Majoris is currently the Largest Star Discovered in the Universe!", "Answer CHECK!",
JOptionPane.INFORMATION_MESSAGE);
break;
case 'c':
case 'C':
JOptionPane.showMessageDialog(null, "Incorrect! Eta Carinae is the Second Largest Star Discovered in the Universe!,\nPlease Try Again..", "Answer CHECK!",
JOptionPane.INFORMATION_MESSAGE);
break;
case 'd':
case 'D':
JOptionPane.showMessageDialog(null, "Incorrect! Beetlejuice is the Third Largest Star Discovered in the Universe!,\nPlease Try Again..", "Answer CHECK!",
JOptionPane.INFORMATION_MESSAGE);
break;
}

switch (x4)
{
case 'a':
case 'A':
JOptionPane.showMessageDialog(null, "Correct! Ronaldinho Gaucho is a famous Soccer player!", "Answer CHECK!",
JOptionPane.INFORMATION_MESSAGE);
break;
case 'b':
case 'B':
JOptionPane.showMessageDialog(null, "Incorrect! Ronaldinho Gaucho is not a Singer!,\nPlease Try Again..", "Answer CHECK!",
JOptionPane.INFORMATION_MESSAGE);
break;
case 'c':
case 'C':
JOptionPane.showMessageDialog(null, "Incorrect! Bill Gates was the founder of Microsoft! NOT Ronaldinho Gaucho!!,\nPlease Try Again..", "Answer CHECK!",
JOptionPane.INFORMATION_MESSAGE);
break;
case 'd':
case 'D':
JOptionPane.showMessageDialog(null, "Incorrect! Ronaldinho Gaucho is not an actor!,\nPlease Try Again..", "Answer CHECK!",
JOptionPane.INFORMATION_MESSAGE);
break;
}

switch (x5)
{
case 'a':
case 'A':
JOptionPane.showMessageDialog(null, "Incorrect! Arnold Schwarzenegger was the main actor of Last Action Hero, but in that same movie, who played the role as the terminator?\n Try Again!,\nPlease Try Again..", "Answer CHECK!",
JOptionPane.INFORMATION_MESSAGE);
break;
case 'b':
case 'B':
JOptionPane.showMessageDialog(null, "Incorrect! No its not Adam Sandler, but it would be funny if it was!,\nPlease Try Again..", "Answer CHECK!",
JOptionPane.INFORMATION_MESSAGE);
break;
case 'c':
case 'C':
JOptionPane.showMessageDialog(null, "Incorrect! It could have been Jean Claude Van Damme!\nBut its not....\nPlease Try Again..", "Answer CHECK!",
JOptionPane.INFORMATION_MESSAGE);
break;
case 'd':
case 'D':
JOptionPane.showMessageDialog(null, "Correct! Sylvester Stallone played the role as the Terminator in the Movie Last Action Hero!", "Answer CHECK!",
JOptionPane.INFORMATION_MESSAGE);
break;
}
}
}

现在,使用此代码..如何为错误答案创建循环?非常感谢您的帮助,谢谢。

最佳答案

您需要将提问代码块提取到一个单独的方法中(或 2 个!)。如果需要,这将使您可以更方便地多次调用它。这看起来像:

while (!askQuestionsWithAllCorrect()) {
System.out.println("Asking again...");
}

您当然可以为用户提供在 while 循环本身内重新尝试问题的选项

关于java - 做一个 java 测验并重复错误的答案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12228172/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com