简易考试系统java
时间: 2023-11-24 22:52:09 浏览: 70
以下是一个简单的Java在线考试系统的实现,包括题目的添加、考试的开始和结束、考试结果的统计等功能。具体实现如下:
```java
import java.util.ArrayList;
import java.util.Scanner;
public class ExamSystem {
private ArrayList<Question> questions; // 存储题目的列表
public ExamSystem() {
questions = new ArrayList<>();
}
// 添加题目
public void addQuestion(Question question) {
questions.add(question); }
// 开始考试
public void startExam() {
Scanner scanner = new Scanner(System.in);
int score = 0; // 记录考试得分
for (int i = 0; i < questions.size(); i++) {
Question question = questions.get(i);
System.out.println("第" + (i + 1) + "题:" + question.getTitle());
for (int j = 0; j < question.getOptions().size(); j++) {
System.out.println((char) ('A' + j) + ". " + question.getOptions().get(j));
}
System.out.print("请选择答案(A/B/C/D):");
String answer = scanner.nextLine();
if (answer.equals(question.getAnswer())) {
score += question.getScore();
System.out.println("回答正确!得分:" + question.getScore());
} else {
System.out.println("回答错误!");
}
}
System.out.println("考试结束,得分:" + score);
}
public static void main(String[] args) {
ExamSystem examSystem = new ExamSystem();
// 添加题目
Question question1 = new Question("Java中如何定义一个整型变量?", 2);
question1.addOption("A. int x = 1;", false);
question1.addOption("B. int x;", false);
question1.addOption("C. x = 1;", false);
question1.addOption("D. int x = new int(1);", true);
examSystem.addQuestion(question1);
Question question2 = new Question("Java中如何定义一个字符串变量?", 2);
question2.addOption("A. String s = 'hello';", false);
question2.addOption("B. String s = \"hello\";", true);
question2.addOption("C. s = \"hello\";", false);
question2.addOption("D. String s = new String(\"hello\");", false);
examSystem.addQuestion(question2);
// 开始考试
examSystem.startExam();
}
}
class Question {
private String title; // 题目
private ArrayList<String> options; // 选项
private String answer; // 答案
private int score; // 分值
public Question(String title, int score) {
this.title = title;
this.score = score;
options = new ArrayList<>();
}
// 添加选项
public void addOption(String option, boolean isAnswer) {
options.add(option);
if (isAnswer) {
answer = String.valueOf((char) ('A' + options.size() - 1));
}
}
public String getTitle() {
return title;
}
public ArrayList<String> getOptions() {
return options;
}
public String getAnswer() {
return answer;
}
public int getScore() {
return score;
}
}
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)