ArrayList集合编写单选题管理案例

编程入门 行业动态 更新时间:2024-10-17 09:47:17

ArrayList集合编写单选题管理<a href=https://www.elefans.com/category/jswz/34/1770649.html style=案例"/>

ArrayList集合编写单选题管理案例

试题管理界面(测试类)

package danxuan;import java.util.ArrayList;
import java.util.Scanner;public class ExamManger {//Scanner sc=new Scanner(System.in);public  void main(ArrayList<Exam> array) {// TODO 自动生成的方法存根		Exam1 exam1=new Exam1();while(true) {System.out.println("--------------欢迎来到试题管理界面,请输入您所需要进行的操作----------------");System.out.println("11.添加试题");System.out.println("22.修改试题");System.out.println("33.浏览试题");System.out.println("44.删除试题");System.out.println("55.退出。");System.out.println("请输入您需要进行的操作序号:");Scanner sc=new Scanner(System.in);String line=sc.nextLine();switch(line) {case "11":exam1.addExam(array);break;case "22":exam1.amendExam(array);break;case "33":exam1.findExam(array);break;case "44":exam1.deleteExam(array);break;case "55":System.out.println("谢谢使用试题管理!");//System.exit(0);break;}}}}

试题类

/*** */
package danxuan;//import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Scanner;
public class Exam {private static final String array = null;private int subjekt;//题号private String genji;//题干private String optionA;private String optionB;private String optionC;private String optionD;//题目的选项private String answer;//答案public int getSubjekt() {return subjekt;}public void setSubjekt(int subjekt) {this.subjekt = subjekt;}public String getGenji() {return genji;}public void setGenji(String genji) {this.genji = genji;}public String getOptionA() {return optionA;}public void setOptionA(String optionA) {this.optionA = optionA;}public String getOptionB() {return optionB;}public void setOptionB(String optionB) {this.optionB = optionB;}public String getOptionC() {return optionC;}public void setOptionC(String optionC) {this.optionC = optionC;}public String getOptionD() {return optionD;}public void setOptionD(String optionD) {this.optionD = optionD;}public String getAnswer() {return answer;}public void setAnswer(String answer) {this.answer = answer;}public Exam(int subjekt,String genji,String optionA,String optionB,String optionC,String optionD,String answer) {this.subjekt=subjekt;this.genji=genji;this.optionA=optionA;this.optionB=optionB;this.optionC=optionC;this.optionD=optionD;this.answer=answer;}public Exam() {// TODO 自动生成的构造函数存根}public static void main(String[] args) {ArrayList<Exam> array=new ArrayList<Exam>();ExamManger examManger =new ExamManger();System.out.println("-----------------------------------------------------");System.out.println("单选题:");System.out.println("-----------------------------------------------------");System.out.println("1.考试\t2.试题管理\t\t3.退出。");System.out.println("(请输入操作的代码1/2或3)");//ExamManger paper; Scanner sc=new Scanner(System.in);String n=sc.nextLine();switch(n) {case "1":testExam(array);break;case "2":examManger.main(array);break;case "3":System.out.println("谢谢使用");System.exit(0);}}public static void testExam(ArrayList<Exam> array) {int count=0;Scanner sc=new Scanner(System.in);for(int i=0;i<array.size();i++) {Exam e=array.get(i);System.out.println("题号:"+e.getSubjekt());System.out.println("题目:"+e.getGenji());System.out.println("选项A:"+e.getOptionA());System.out.println("选项B:"+e.getOptionB());System.out.println("选项C:"+e.getOptionC());System.out.println("选项D:"+e.getOptionD());System.out.println("请输入您的答案:");String x=sc.nextLine();if(e.getAnswer().equals(x)) {count++;}}System.out.println("您答对的题目数量为:"+count);}
}

 具体实现类

​
package danxuan;import java.util.ArrayList;
import java.util.Scanner;public class Exam1 {public  void deleteExam(ArrayList<Exam> array) {//删除试题// TODO 自动生成的方法存根Scanner sc=new Scanner(System.in);System.out.println("请输入您要删除题目的题号");int subjekt=sc.nextInt();for(int i=0;i<array.size();i++) {Exam e=array.get(i);if(e.getSubjekt()==subjekt) {array.remove(i);System.out.println("删除成功!");}}}public  void findExam(ArrayList<Exam> array) {//查找试题// TODO 自动生成的方法存根if(array.size()==0) {System.out.println("无题目,请先输入题目!");//由于无题目,故不再往下执行,用return退出return;}//System.out.println("");	for(int i=0;i<array.size();i++) {Exam e=array.get(i);System.out.println(e.getSubjekt()+"\n"+e.getGenji()+"\n"+e.getOptionA()+"\n"+e.getOptionB()+"\n"+e.getOptionC()+"\n"+e.getOptionD());}}public  void amendExam(ArrayList<Exam> array) {//修改试题// TODO 自动生成的方法存根Scanner sc=new Scanner(System.in);System.out.println("请输入您需要修改的试题题号:");int subjekt=sc.nextInt();//subjekt=Integer.parseInt(sc.nextLine());System.out.println("请输入题干:");String genji=sc.nextLine();System.out.println("请输入选项A:");String optionA=sc.nextLine();System.out.println("请输入选项B:");String optionB=sc.nextLine();System.out.println("请输入选项C:");String optionC=sc.nextLine();System.out.println("请输入选项D:");String optionD=sc.nextLine();Exam t=new Exam();t.setSubjekt(subjekt);t.setGenji(genji);t.setOptionA(optionA);t.setOptionB(optionB);t.setOptionC(optionC);t.setOptionD(optionD);array.add(t);//addExam(array);for(int i=1;i<=array.size();i++) {Exam exam=array.get(i);if(exam.getSubjekt()==(subjekt)) {array.set(i, t);break;}}System.out.println("修改成功!");}public  void addExam(ArrayList<Exam> array) {//添加试题// TODO 自动生成的方法存根Scanner sc=new Scanner(System.in);int subjekt;while(true) {System.out.println("请输入题号:");subjekt=sc.nextInt();boolean flag=repitition(array,subjekt);if(flag) {System.out.println("该题号已经输入过,请重新输入题号来添加题目!");}else {break;}}System.out.println("请输入题干:");String genji=sc.next();System.out.println("请输入选项A:");String optionA=sc.next();System.out.println("请输入选项B:");String optionB=sc.next();System.out.println("请输入选项C:");String optionC=sc.next();System.out.println("请输入选项D:");String optionD=sc.next();//创建一个题目对象、把键盘录入的题目赋值给题目对象的成员变量Exam t=new Exam();t.setSubjekt(subjekt);t.setGenji(genji);t.setOptionA(optionA);t.setOptionB(optionB);t.setOptionC(optionC);t.setOptionD(optionD);array.add(t);System.out.println("添加成功!");System.out.println("是否返回到上一页面?Y/N");String sss=sc.next();if(sss.equals("Y")) {Exam exam=new Exam();String[] args = null;exam.main(args);}}public  boolean repitition(ArrayList<Exam> array,int subjekt) {//用来判断题目是否重复//如果集合中的某一道题的题号和再次添加的题号相同,则返回true;否则返回false,因此要用到boolean类型boolean flag=false;for(int i=0;i<array.size();i++) {Exam e=array.get(i);if(e.getSubjekt()==subjekt) {flag=true;break;}}return false;}}​

更多推荐

ArrayList集合编写单选题管理案例

本文发布于:2024-02-27 13:47:58,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1706789.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:案例   单选题   ArrayList

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!