需要一個簡單的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));
}
}
}
以上是將一串字符串分割成各個試題及答案的形式。各位可以看看