package exercise.choice; import java.io.*; import java.util.*; public class ChoiceSolution { protected String exerciseID; protected boolean[] correctChoices; public ChoiceSolution(String exerciseID, boolean[] correctChoices) { this.exerciseID = exerciseID; this.correctChoices = correctChoices; } public String getExerciseID() { return exerciseID; } public boolean[] getCorrectChoices() { return correctChoices; } public static ChoiceSolution loadSolution(String exerciseID) throws IOException { // Load the contents of the Solution file. Class cl = ChoiceSolution.class; String resourceName = "solutions/" + exerciseID + ".txt"; InputStream is = cl.getResourceAsStream(resourceName); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String correctChoicesLine = br.readLine(); br.close(); // Return a Solution object. int numChoices = correctChoicesLine.length(); boolean[] correctChoices = new boolean[numChoices]; for (int i = 0; i < numChoices; i++) { correctChoices[i] = (correctChoicesLine.charAt(i) == '1'); } return new ChoiceSolution(exerciseID, correctChoices); } }