需要一个简单的Question类主要代码:
public Class Question{
private Long id;
private String title; // 题干
private String issue;
private String selectOne;
private String selectTwo;
private String selectThree;// 选项
private String selectFour;
private String standard_answer; // 标准答案
private String answer; //所选答案
//省略set和get方法
}
/**
*字符串分割工具类
*/
public class SplitAnswerUtils {
/**
* 分离选择题试题
* @param answer
* @return
*/
public static List<SelectQuestion> splitSelectQuestion(String answer){
List<SelectQuestion> list = new ArrayList<SelectQuestion>();
String[] questionsAnswer = answer.split("&");
System.out.println("str.length : " + questionsAnswer.length);
for(int i = 0; i<questionsAnswer.length ;i++){
list.add(splitQuestionOption(questionsAnswer[i]));
}
return list;
}
/**
* 分离选择题试题与选项
* @param questionOption
* @return
*/
private static Question splitQuestionOption(String questionOption){
String[] questionOptions = questionOption.split("☯");
//"☯"是个特殊分割符
Question select_question = new Question();
for(int i=0;i<questionOptions.length;i++){
if (i== 0) {
select_question.setId(Long.valueOf(questionOptions[i]));;
}else{
select_question.setAnswer(questionOptions[i]);
}
}
return select_question;
}
}
/**
*测试类 、 其中&与☯都是特殊分割符
*/
public class SplitTest {
public static void main(String[] args) {
String simple_answer = "1☯A&2☯B&3☯A&4☯B";
List<SelectQuestion> simple_question = SplitAnswerUtils.splitSelectQuestion(simple_answer);
for(int i=0;i<simple_question.size();i++){
System.out.println("simple_question : " + simple_question.get(i));
}
}
}
以上是将一串字符串分割成各个试题及答案的形式。各位可以看看