2016-10-18 3 views
0

Wie kann mein Programm fragen, die Fragen aus einem Word-Dokument (Studienführer) zu stellen, bis sie alle weg sind? Das Programm, das mir zur Verfügung gestellt wurde, stellt eine der Fragen, aber ich muss in der Lage sein, alle zu fragen, ihnen zu sagen, wenn sie die Antwort falsch bekommen haben und ab 5 Punkte abziehen, jedes Mal wenn sie falsch antworten. Um klar zu sein, meine Frage ist, wie kann ich mein Programm bitten, Fragen aus einem Dokument zu ziehen, bis keine durch eine Schleife zu verlassen, dann wie kann ich Punkte abziehen für jedes Mal, wenn sie es falsch verstehen.wie Fragen aus einer Datei zu loopen?

import java.util.Scanner; 

public class HW2 { 
    public static void main(String[] args) {  
    Scanner input = new Scanner(System.in); 
    HWData hd = new HWData(); 
    System.out.println(hd.getQuestion(0)); 
    System.out.println(); 
    System.out.println("1. " + hd.getAnswer1(0)); 
    System.out.println(); 
    System.out.println("2. " + hd.getAnswer2(0)); 
    System.out.println(); 
    System.out.println("3. " + hd.getAnswer3(0)); 
    System.out.println(); 
    System.out.println("4. " + hd.getAnswer4(0)); 

    int answer = input.nextInt(); 

    if (answer == hd.getCorrect(0)) 
    { System.out.println(" Great Job! You got the right answer!");} 
    else 
    { System.out.println(" You got the answer wrong, try again."); 
    input.close(); 

    } 

    } 

} 

Antwort

0

Die Antwort hängt davon ab, wie hwdata funktioniert. Ohne das zu sehen, können wir die Frage nicht beantworten. Es sieht so aus, als ob HWData das Stück ist, das tatsächlich die Fragen aus dem Dokument zieht, aber der Code, den du gepostet hast, beinhaltet das nicht.

Es sieht so aus, als könnten Sie mit HWData verschiedene Fragen/Antworten abrufen, indem Sie eine Zahl an die Methoden getQuestion()/getAnswer()/getCorrect() übergeben.

Wenn Sie Glück haben, können Sie auch die Gesamtzahl der Fragen finden. In diesem Fall können Sie wahrscheinlich Folgendes tun:

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);