2013-05-19 2 views
-3

У меня проблема. Я делаю курсы java с этого сайта: http://programmingbydoing.com/, и я ударил тупик на этом уроке: http://programmingbydoing.com/a/a-little-quiz.html.Проблема с Java quiz

Я понятия не имею, как отслеживать ответы, думал, что я верю, что сделал все правильно в целом. Заткнув мои мозги в течение последних двух часов, пожалуйста, помогите. Благодарю.

import java.util.Scanner; 

public class Quiz 
{ 
    public static void main(String[] args) 
    { 
    Scanner keyboard = new Scanner(System.in); 

    String reply; 
    int answer; 
    int numberofquizes = 3; 

    int q1a1 = 1; 
    int q1a2 = 2; 
    int q1a3 = 3; 
    int q2a1 = 1; 
    int q2a2 = 2; 
    int q3a1 = 1; 
    int q3a2 = 2; 
    int q3a3 = 3; 

    System.out.print("Are you ready for this quiz?"); 
    reply = keyboard.next(); 

    System.out.println("Okay, here it comes!"); 
    System.out.println(""); 
    System.out.println("Q1) What is the capital of Alaska?"); 
    System.out.println(" "+ q1a1 +") Melbourne"); 
    System.out.println(" "+ q1a2 +") Anchorage"); 
    System.out.println(" "+ q1a3 +") Jouneau"); 

    System.out.print("Your answer: "); 
    answer = keyboard.nextInt(); 

    if (answer == 1) 
    { 
     System.out.println("Incorrect!"); 
    } 
    else if (answer == 2) 
    { 
     System.out.println("Incorrect!"); 
    } 
    else if (answer == 3) 
    { 
     System.out.println("That's right!"); 
    } 
    System.out.println(); 
    System.out.println("Q2) Can you store the value \"cat\" in a variable of type int?"); 
    System.out.println(" "+ q2a1 +") yes"); 
    System.out.println(" "+ q2a2 +") no"); 

    System.out.print("Your answer: "); 
    answer = keyboard.nextInt(); 

    if (answer == 1) 
    { 
     System.out.println("Incorrect!"); 
    } 
    else if (answer == 2) 
    { 
     System.out.println("That's right!"); 
    } 

    System.out.println(); 
    System.out.println("Q3) What is the result of 9+6/3?"); 
    System.out.println(" "+ q3a1 +") 5"); 
    System.out.println(" "+ q3a2 +") 11"); 
    System.out.println(" "+ q3a3 +") 15/3"); 

    System.out.print("Your answer: "); 
    answer = keyboard.nextInt(); 

    if (answer == 1) 
    { 
     System.out.println("Incorrect!"); 
    } 
    else if (answer == 2) 
    { 
     System.out.println("That's right!"); 
    } 
    else if (answer == 3) 
    { 
     System.out.println("Incorrect!"); 
    } 

    System.out.println(); 
    System.out.println("Overall, you got x out of "+ numberofquizes +" "); 
    System.out.println("Thanks for playing!"); 
} 

}

+3

В чем вопрос? – jlordo

+0

Вы пытаетесь сохранить ответы пользователя? –

+0

Ничего, извините. Я получил его сам. Удали это. –

ответ

2

Используйте дополнительную переменную для хранения правильное количество ответов.

int correct = 0;

Изнутри, если п правильного ответа:

System.out.println("That's right!"); 
correct = correct + 1; 

Наконец,

System.out.println("Overall, you got " + correct +" out of "+ numberofquizes +" ");

0

вещи, как это:

int correctCount = 0 
// ...... 
if (answer == 3) 
{ 
    correctCount++; 
    System.out.println("That's right!"); 
} 
// ...... 
System.out.println("Overall, you got " + correctCount + 
     " out of "+ numberofquizes +" "); 
+0

Возможно, вы используете 'correctCount ++;' в 'System.out.println (« Это правильно! »);' Block. – 3yanlis1bos