用JAVA写一个 可以导入题库的竞猜程序
时间: 2023-09-10 18:05:53 浏览: 92
一个很好的JAVA题库
好的,下面是一个简单的 Java 竞猜程序,可以导入题库:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
public class QuizGame {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
ArrayList<Question> questions = new ArrayList<>();
int score = 0;
// 从文件中读取题库
try (BufferedReader reader = new BufferedReader(new FileReader("questions.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
String[] parts = line.split(",");
if (parts.length == 3) {
Question question = new Question(parts[0], parts[1], parts[2]);
questions.add(question);
}
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("欢迎来到竞猜游戏!");
System.out.println("请输入您的姓名:");
String name = scanner.nextLine();
System.out.println("游戏开始!");
for (int i = 0; i < questions.size(); i++) {
Question question = questions.get(i);
System.out.println("第 " + (i + 1) + " 题:" + question.getQuestion());
System.out.println("A. " + question.getOptionA());
System.out.println("B. " + question.getOptionB());
System.out.println("C. " + question.getOptionC());
System.out.println("D. 不知道");
String answer = scanner.nextLine().toUpperCase();
if (answer.equals(question.getAnswer())) {
System.out.println("恭喜您答对了!");
score += 10;
} else {
System.out.println("很遗憾,您答错了!");
}
}
System.out.println("游戏结束,您的得分是 " + score + " 分。");
}
}
class Question {
private String question;
private String optionA;
private String optionB;
private String optionC;
private String answer;
public Question(String question, String optionA, String optionB, String optionC, String answer) {
this.question = question;
this.optionA = optionA;
this.optionB = optionB;
this.optionC = optionC;
this.answer = answer.toUpperCase();
}
public String getQuestion() {
return question;
}
public String getOptionA() {
return optionA;
}
public String getOptionB() {
return optionB;
}
public String getOptionC() {
return optionC;
}
public String getAnswer() {
return answer;
}
}
```
这个程序会从 `questions.txt` 文件中读取题库,每一行表示一道题目,格式为:
```
问题,选项A,选项B,选项C,答案
```
其中,问题、选项A、选项B、选项C和答案之间使用逗号 `,` 分隔。答案使用大写字母 A、B、C 或 D 表示。
程序会随机选择题目并显示给玩家,玩家需要在键盘上输入答案,程序会根据答案给出相应的提示,并记录玩家的得分。最后会输出玩家的得分。
注意:这个程序只是一个简单的示例,实际上需要根据具体的需求进行修改和完善。
阅读全文