2009-10-12 9 views
1
/*This is a quiz program that will ask the user 10 questions. the user will answer 
* these questions and will be scored out of 10.*/ 

class Quiz { 
    public static void main(String args[]) { 
     // Instructions 
     System.out.println("instructions"); 
     System.out.println(" "); 
     System.out 
       .println("1. You wll be asked ten questions through out the quiz."); 
     System.out 
       .println("2. The first question will appear, you will have to answer that question for the next question to appear."); 
     System.out 
       .println("3. When you answer the last question you will be told your score."); 
     System.out.println(" "); 

     System.out.println("welcome to the basketball quiz."); 

     // question 1 
     System.out.println(" "); 
     System.out.println("Question 1. "); 
     System.out.println("How tall is a basketball hoop? "); 
     System.out.println("Type in Answer here:"); 
     String Question1 = In.getString(); 
     if (Question1.equalsIgnoreCase("10 Feet")) { 
      System.out.println("Correct!"); 
     } else { 
      System.out.println("you got this questions wrong"); 
     } 

     // question 2 
     System.out.println(" "); 
     System.out.println("Question 2. "); 
     System.out.println("Who invented basketball? "); 
     System.out.println("Type in Answer here:"); 
     String Question2 = In.getString(); 
     if (Question2.equalsIgnoreCase("James Naismith ")) { 
      System.out.println("Correct!"); 
     } else { 
      System.out.println("you got this questions wrong"); 
     } 
    } 
} 

Ceci est mon programme que j'écris. Je veux faire un compteur qui gardera le score de chaque question qui répond à droite et ensuite l'afficher à l'utilisateur après que les questions sont terminées. J'ai essayé d'utiliser ceci:comment créer un compteur dans un programme dr Java

int score=0; 

score=score+1; 

Il ne fonctionne pas pour la 2ème question, mais travaille pour le 3ème ... il me donne une erreur. Existe-t-il une autre façon de faire cela ou est-ce que je fais quelque chose de mal?

+0

hey merci beaucoup j'ai essayé de l'incrémenter mais je tapais le code erroné donc c'est yi gardé une erreur est devrait fonctionner maintenant si –

+0

ahh nop il fonctionne dousnt il dit Fichier: K: \ Quiz \ Quiz.java [ligne : 29] Erreur: K: \ Quiz \ Quiz.java: 29: début d'expression illégal aidez s'il vous plaît –

+0

Vous devez inclure des points-virgules à la fin de vos instructions. – akf

Répondre

2

On dirait que vous êtes sur la bonne voie. Vous devez déclarer une variable socre au début du programme.

int score = 0; 

Puis, dans chaque question où vous imprimez « corriger », vous pouvez augmenter le score comme celui-ci:

score++; 

A la fin du programme après la dernière question que vous pouvez imprimer le score.

Vous devriez peut-être publier l'erreur que vous avez eue lorsque vous l'avez essayée.

MISE À JOUR: La syntaxe est score ++ NOT score = ++. Autrement dit, supprimez le signe =.

0

Ce que vous avez fait est correct. Tenez compte du commentaire sur votre message; Vous avez besoin de points-virgules à la fin de votre solution. En outre, par le Java Language Specification, il est préférable de nommer votre variable avec tous les caractères minuscules:

int score = 0; 

// question code 

score += 1; 

or 

score = score + 1; 

or 

score++; 

Vous devez placer la déclaration variable (int score = 0;) en dehors de toutes les boucles (votre si/boucles d'autre) . Il serait préférable de le placer à la première ligne de la méthode principale.

0

Votre problème est possible parce que vous avez un caractère d'espace après le nom "James Naismith" dans la comparaison pour leur réponse donnée. Pour être évalué à vrai l'utilisateur doit répondre avec la chaîne exacte "James Naismith" au lieu de "James Naismith"

Editer: Nevermind, Cela ne devrait pas causer d'erreur, mais c'est quelque chose pour attirer votre attention encore parce que cela pourrait affecter le résultat du programme.