gpt4 book ai didi

java - 文档过滤器与 KeyListener 与 MaskFormatter

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:05:10 25 4
gpt4 key购买 nike

在你对我嗤之以鼻之前,请记住你们每个人都是从某个时候开始的(之所以这么说是因为我看到了回复)。是的,我正在学习,但需要一些帮助来了解 DocumentFilter、KeyListener 或任何其他仅允许某些数据的方式之间的差异。这是一门课,但我可以按原样上交并获得满分。我想将答案选项限制为 A 或 B(不区分大小写)。我已经阅读了很多文章,并且对我阅读的每一篇文章都感到更加困惑。请帮助我理解。

代码如下:

import java.util.Random;
import java.io.*;

public class HorticultureQuiz {

public static void main(String[] args) {

// Create a randomizer Object
Random rand = new Random();
// Object used to read the input
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
// String Array used to maintain the questions
String[][] questions = new String[10][2];

//Questions - 0 throuugh 9 equals 10 questions
questions[0][0] = "Question1 \nA: True\nB: False";
questions[1][0] = "Question2 \nA: True\nB: False";
questions[2][0] = "Question3 \nA: True\nB: False";
questions[3][0] = "Question4 \nA: True\nB: False";
questions[4][0] = "Question5 \nA: True\nB: False";
questions[4][0] = "Question5 \nA: True\nB: False";
questions[5][0] = "Question6 \nA: True\nB: False";
questions[6][0] = "Question7 \nA: True\nB: False";
questions[7][0] = "Question8 \nA: True\nB: False";
questions[8][0] = "Question9\nA: True\nB: False";
questions[9][0] = "Question10 \nA: True\nB: False";

//Answers
questions[0][1] = "B";
questions[1][1] = "B";
questions[2][1] = "B";
questions[3][1] = "B";
questions[4][1] = "B";
questions[5][1] = "B";
questions[6][1] = "B";
questions[7][1] = "B";
questions[8][1] = "B";
questions[9][1] = "B";


int intOption;
String strAnswer = null;

// Used to maintain the count in the loop
int ii = 0;

while (ii < 5){

// Assign the input answer a value until you reach 5
intOption = rand.nextInt(5);
// Print the question to the screen
System.out.println(questions[intOption][0]);
//Error handling
try {
strAnswer = input.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// If the input answer equals the correct answer in the array list
if (strAnswer.equals(questions[intOption][1])){

// you are correct
System.out.println("Correct!");

}

else{

// Otherwise...WRONG
System.out.println("WRONG, the answer was " + questions[intOption][1]);

}

//Increment by one until you reach 5
ii = ii + 1;

}

}

}

最佳答案

将验证添加到您从用户那里获取输入的部分 -

        System.out.println(questions[intOption][0]);
// Error handling
try {
do {
strAnswer = input.readLine().toUpperCase();
} while (!isValid(strAnswer));
} catch (IOException e) {
e.printStackTrace();
}

创建一个方法 isValid 来检查输入是否有效,如下所示:

private static boolean isValid(String strAnswer) {
boolean valid = strAnswer.equals("A") || strAnswer.equals("B");
if(!valid){
System.out.println("\nInput is not valid, please enter a valid choice - A or B");
}
return valid;
}

关于java - 文档过滤器与 KeyListener 与 MaskFormatter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22903632/

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