mein Programm soll Fragen von einer Datei nehmen und sie und die Antworten drucken. dann soll der Benutzer sie beantworten und wenn sie es falsch verstehen, soll das Programm Punkte abziehen. Jede Frage ist 5 wert und wenn du es falsch machst, verlierst du 2. Aber wenn du es falsch machst, sollte es dir immer wieder die Frage stellen und nicht nur zum nächsten gehen, wie kann ich das beheben? Und zeigen Sie dem Benutzer, wie viele Punkte er noch hat.Wie man Fragen von einer Datei loop
import java.util.Scanner;
public class HW21 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
HWData hd = new HWData();
int currentScore = 5;
int numberOfQuestions = hd.getNumberOfQuestions();
for (int questionIndex=0; questionIndex<numberOfQuestions; ++questionIndex) {
System.out.println(hd.getQuestion(questionIndex));
System.out.println();
System.out.println("1. " + hd.getAnswer1(questionIndex));
System.out.println();
System.out.println("2. " + hd.getAnswer2(questionIndex));
System.out.println();
System.out.println("3. " + hd.getAnswer3(questionIndex));
System.out.println();
System.out.println("4. " + hd.getAnswer4(questionIndex));
int answer = input.nextInt();
if (answer == hd.getCorrect(questionIndex)) {
System.out.println(" Great Job! You got the right answer!");
}
else {
System.out.println(" You got the answer wrong.");
currentScore -= 2;
}
}
input.close();
System.out.println("Final score: " + currentScore);
}
}
Haben Sie darüber nachgedacht, eine while-Schleife zu verwenden, um weiterzufragen, ob die Antwort falsch ist? –
also würde ich hinzufügen, in einer while-Schleife, wenn es falsch ist oder nehmen Sie meine wenn sonst und ersetzen Sie es mit der Weile –