我正在做一项类作业,但我一开始就陷入困境。我不知道如何处理用户输入,我会在告诉你任务是什么后详细说明......
第一个输入将是包含 10 个 T 或 F 答案的测验的答案。然后,它接受用户输入学生的名字和姓氏、ID 号,然后回答 T/F 的“测验”,用户输入任意数量的学生,然后“ZZZZ”终止。所有用户输入都输入在一个条目中,这就是我遇到问题的地方。
程序的示例输入:
1 T T T T T F T T F F
Bobb, Bill 123456789 T T T T T F T T F F
Lou, Mary 974387643 F T T T T F T T F F
Bobb, Sam 213458679 F T F T f t 6 T F f
Bobb, Joe 315274986 t t t t t f t t f f
ZZZZ
这将产生输出: 测验 1 的结果:
123-45-6789 Bill Bobb 10
974-38-7643 Mary Lou 9
213-45-8679 Sam Bobb 5
315-27-4986 Joe Bobb 10
The average score is 8.5
我们必须使用 BufferedReader 并且所有输入都是一次性输入的。我遇到的问题是我不知道如何进行输入。起初我想我会按换行符分割输入并创建一个数组,其中每个索引都是换行符,但我现在只打印“ZZZZ”,我不明白为什么?我也不知道如何将第一个索引(答案键)与所有学生的答案进行比较。一旦我按换行符分割输入,我可以按空格分割该数组中的每个索引吗?任何帮助是极大的赞赏!请记住,我对 Java 还很陌生。
到目前为止我所拥有的(我知道不多,但我只是被困在前面)....
public class CST200_Lab4 {
public static void main(String[] args) throws IOException {
String inputValue = " ";
String inputArr[] = new String[13];
String answerKey = null;
String numStudents[];
InputStreamReader ISR = new InputStreamReader(System.in);
BufferedReader BR = new BufferedReader(ISR);
while(!(inputValue.equalsIgnoreCase("ZZZZ"))) {
inputValue = BR.readLine();
inputArr = inputValue.split("\\r+");
answerKey = inputArr[0];
}
System.out.println(answerKey);
}
}
最佳答案
在 main() 中使用此代码
String inputValue = " ";
String inputArr[] = new String[13];
String answerKey = null;
String numStudents[];
InputStreamReader ISR = new InputStreamReader(System.in);
BufferedReader BR = new BufferedReader(ISR);
try {
inputValue = BR.readLine();
String answers[] = inputValue.split(" ");
int count = 0;
System.out.println();
while((inputValue = BR.readLine()) != null) {
if (inputValue.equalsIgnoreCase("ZZZZ"))
break;
inputArr = inputValue.split("\\s+");
System.out.print(inputArr[2] + " ");
System.out.print(inputArr[1] + " ");
System.out.print(inputArr[0].split(",")[0] + " ");
count = 0;
for(int i = 0; i <10; i++){
if(inputArr[i+3].equalsIgnoreCase(answers[i+1]))
count ++;
}
System.out.print(count);
System.out.println();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
我把平均部分留给你计算。不要提。
关于java - 字符串数组和 BufferedReader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32961795/