gpt4 book ai didi

java - 如何读取数组中的字符输入?

转载 作者:行者123 更新时间:2023-11-30 10:47:50 26 4
gpt4 key购买 nike

我正在编写一个程序,其中包括设计一个多项选择测试评分器。我声明了一个数组来存储响应。我遇到的问题是,我不知道如何读取每个用户输入(字符)以查看它是否正确。我拥有的代码只是一个占位符。我不知道该怎么办。这是我的代码片段:

for (int a = 0 ; a < response.length ; a++)
{
System.out.print((a + 1) + ": ");
Scanner s = new Scanner(System.in);
response [a] = System.in.read();
while (response [a] < 'A' || response [a] > 'D')
{
System.out.println ("Invalid input. Enter answers with A, B, C, or D only!");
response [a] = System.in.read();
}
}

最佳答案

我不完全确定您要实现的目标,因此我将对我的回答做出一些假设:

如果这是一项多项选择测试,用户在每次回答后都会按回车键,这对我来说似乎很自然。

您将知道正确答案,只需检查输入是否正确。

char [] correctAnswers = {'A', 'B', 'C', 'A'};
Scanner in = new Scanner(System.in);

for(int i = 0; i < correctAnswers; i ++){
System.out.println("Please input answer:");
String valueString = in.nextLine().toUpperCase();
if(valueString.length() != 1){
System.out.println("Answer invalid. Please only type one character");
i--;
} else {
char answer = valueString.charAt(0);
if(correctAnswers[i] == answer)
System.out.println("Correct");
else
System.out.println("Wrong");
}
}

这个示例应该可以解决问题。

备选

如果用户要输入他的所有答案,然后按回车键,您可以按如下方式访问每个字符:

char [] correctAnswers = {'A', 'B', 'C', 'A'};
Scanner in = new Scanner(System.in);
System.out.println("Please input " + correctAnswers.length + " answer(s):");
String answerString = in.nextLine().toUpperCase();

if(answerString.length() != correctAnswers.length){
System.out.println("Incorrect number of answers entered");
} else {
for(int i = 0; i < answerString.length; i ++){
if(correctAnswers[i] == answerString.charAt(i)){
System.out.println("Answer " + (i + 1) + " Correct");
} else {
System.out.println("Answer " + (i + 1) + " Wrong");
}
count ++;
}
}

关于java - 如何读取数组中的字符输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36027866/

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