package exercise.writer; import java.lang.*; import java.io.*; public class MultipleChoiceFileWriter { final static int A = 0; final static int B = 1; final static int C = 2; final static int D = 3; final static int E = 4; final static int F = 5; final static int G = 6; final static int H = 7; final static int I = 8; final static int J = 9; private String question; private String questionType; private StringBuffer questionNumber; private String exercise; private String section; private String [] choiceArray; private int [] answerArray; private String [] feedbackArray; private String correctFeedback; private String hint; private String fileName; MultipleChoiceFileWriter(){} public void setFileName ( String fileName ) { this.fileName = fileName; } public void setQuestionType(String questionType) { this.questionType = questionType; } public void setQuestionNumber (String questionNum) { int length = questionNum.length(); char [] numArray = questionNum.toCharArray(); StringBuffer tempSect = new StringBuffer (); StringBuffer tempExerc = new StringBuffer (); int i = 0; while ( numArray[i] != '.' ) { tempSect.append ( numArray[i] ); i++; } i++; while ( i < length ) { tempExerc.append ( numArray[i] ); i++; } section = new String ( tempSect.toString() ); exercise = new String ( tempExerc.toString() ); } public void setQuestion(String question) { this.question = question; } public void setChoiceArray(String [] choiceArray) { this.choiceArray = choiceArray; } public void setAnswerArray( int [] answerArray) { this.answerArray = answerArray; } public void setFeedbackArray(String [] feedbackArray) { this.feedbackArray = feedbackArray; } public void setCorrectFeedback ( String correctFeedback ) { this.correctFeedback = correctFeedback; } public void setHint(String hint) { this.hint = hint; } public void writeFile() { //File curr = new File( fileName ); PrintWriter fileWriter; try{ fileWriter = new PrintWriter ( new FileWriter ( fileName ) ); fileWriter.println ("QuestionType: "+ questionType ); fileWriter.println ("Section: " + section ); fileWriter.println ("Exercise: "+ exercise ); fileWriter.println ("Question: "+ question ); fileWriter.println ("ChoiceBegin"); if (! ( choiceArray[A].equals("") ) ) { fileWriter.println ("ChoiceA: " + choiceArray[A] ); } if (! ( choiceArray[B] .equals("") ) ) { fileWriter.println ("ChoiceB: " + choiceArray[B] ); } if (! ( choiceArray[C] .equals("") )) { fileWriter.println ("ChoiceC: " + choiceArray[C] ); } if (! ( choiceArray[D] .equals("") )) { fileWriter.println ("ChoiceD: " + choiceArray[D] ); } if (! ( choiceArray[E] .equals("") )) { fileWriter.println ("ChoiceE: " + choiceArray[E] ); } if (! ( choiceArray[F] .equals("") )) { fileWriter.println ("ChoiceF: " + choiceArray[F] ); } if (! ( choiceArray[G] .equals("") )) { fileWriter.println ("ChoiceG: " + choiceArray[G] ); } if (! ( choiceArray[H] .equals("") )) { fileWriter.println ("ChoiceH: " + choiceArray[H] ); } if (! ( choiceArray[I] .equals("") )) { fileWriter.println ("ChoiceI: " + choiceArray[I] ); } if ( ! ( choiceArray[J] .equals("") )) { fileWriter.println ("ChoiceJ: " + choiceArray[J] ); } fileWriter.println ("ChoiceEnd"); fileWriter.println ("AnswerBegin"); for ( int i = 0 ; i < 10 ; i++ ) { if ( i == A ) { if ( answerArray[ i ] == i ) fileWriter.println ( "A" ); } else if ( i == B ) { if ( answerArray[ i ] == i ) fileWriter.println ( "B" ); } else if ( i == C ) { if ( answerArray[ i ] == i ) fileWriter.println ( "C" ); } else if ( i == D ) { if ( answerArray[ i ] == i ) fileWriter.println ( "D" ); } else if ( i == E ) { if ( answerArray[ i ] == i ) fileWriter.println ( "E" ); } else if ( i == F ) { if ( answerArray[ i ] == i ) fileWriter.println ( "F" ); } else if ( i == G ) { if ( answerArray[ i ] == i ) fileWriter.println ( "G" ); } else if ( i == H ) { if ( answerArray[ i ] == i ) fileWriter.println ( "H" ); } else if ( i == I ) { if ( answerArray[ i ] == i ) fileWriter.println ( "I" ); } else if ( i == J ) { if ( answerArray[ i ] == i ) fileWriter.println ( "J" ); } } fileWriter.println ("AnswerEnd"); fileWriter.println ("FeedbackBegin"); fileWriter.println ("CorrectFeedback: " + correctFeedback ); if ( ! ( feedbackArray[A] .equals("") )) { fileWriter.println ("feedbackA: " + feedbackArray[A] ); } if ( ! (feedbackArray[B] .equals("") )) { fileWriter.println ("feedbackB: " + feedbackArray[B] ); } if ( ! ( feedbackArray[C] .equals("") )) { fileWriter.println ("feedbackC: " + feedbackArray[C] ); } if ( ! ( feedbackArray[D] .equals("") )) { fileWriter.println ("feedbackD: " + feedbackArray[D] ); } if ( ! ( feedbackArray[E] .equals("") )) { fileWriter.println ("feedbackE: " + feedbackArray[E] ); } if ( ! ( feedbackArray[F] .equals("") )) { fileWriter.println ("feedbackF: " + feedbackArray[F] ); } if ( ! ( feedbackArray[G] .equals("") )) { fileWriter.println ("feedbackG: " + feedbackArray[G] ); } if ( ! ( feedbackArray[H] .equals("") )) { fileWriter.println ("feedbackH: " + feedbackArray[H] ); } if ( ! ( feedbackArray[I] .equals("") )) { fileWriter.println ("feedbackI: " + feedbackArray[I] ); } if ( ! ( feedbackArray[J] .equals("") )) { fileWriter.println ("feedbackJ: " + feedbackArray[J] ); } fileWriter.println ("FeedbackEnd"); fileWriter.println("Hint: " + hint ); fileWriter.flush(); } catch (java.io.IOException e) {} } }