Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Expand
titleDel 3 - Input/output og unntak (IO) (10%)

 Utvid Quiz-klassen med en metode for å initialisere Quiz-objektet med spørsmål (og tilhørende svar og evt. svar-alternativ) fra fil. Følgende format skal støttes:

  •   Spørsmål, svar og evt. svar-alternativer har én linje hver.

  •   Spørsmålet kommer først, så svaret og deretter evt. svar-alternativer.

  •   Svar-alternativene skilles fra neste spørsmål med en tom linje.

 Eksempelfil tilvarende eksemplet i innledningen, med kommentarer (som ikke er en del av filinnholdet) i høyre kolonne:

 
Hva heter hovedstaden i Norge?
Oslo
 
Hva slags ost er månen laget av?
Roquefort
Camembert
Roquefort
Brie
 
Hvor høy er Galdhøpiggen?
2469
2469
2471
 
Er Java gøy?
ja
1. spørsmål
riktig svar
skillelinje
2. spørsmål
riktig svar
1. svar-alternativ
2. svar-alternativ
3. svar-alternativ
skillelinje
3. spørsmål
riktig svar
1. svar-alternativ
2. svar-alternativ
skillelinje
4. spørsmål
riktig svar
Expand
titleLF
Code Block
themeEclipse
languagejava
public void init(Reader input) throws IOException {
	BufferedReader reader = new BufferedReader(input);
	while (reader.ready()) {
		String question = reader.readLine();
		if (question == null || question.trim().length() == 0) {
			break;
		}
		String answer = reader.readLine();
		Collection<String> options = new ArrayList<String>();
		while (reader.ready()) {
			String line = reader.readLine();
			if (line == null || line.trim().length() == 0) {
				break;
			}
			options.add(line);
		}
		addQuestion(new Question(question, answer, options));
	}
}

Lenke til løsningskode: QuestionQuiz.java (samme Quiz Question.java) (og eksempelfila sample.txt)

 

...