Se connecter avec
S'enregistrer | Connectez-vous

erreur dans mon code?

Dernière réponse : dans Programmation

bonsoir !!
je voudrais que la reponse a ce petit test soit "celibataire"
mais que se soit "marie", "divorce" ou "celibataire" que je coche, le seul reponse que le programe m'affiche est :
"mauvaise reponse niark niark"

mon code :
  1. package com.jeu.test;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4. import javax.swing.JOptionPane;
  5.  
  6.  
  7. // si le bouton coché est celibataire alors resultat est bravo!!
  8.  
  9. public class Jeu extends Frame implements ActionListener
  10. {
  11. Frame f = new Frame("jeu");
  12. Checkbox marie = new Checkbox("marié");
  13. Checkbox divorce = new Checkbox("divorcé");
  14. Checkbox celibataire = new Checkbox("celibataire");
  15. Button bout = new Button("entrez votre reponse");
  16.  
  17.  
  18.  
  19. public Jeu() {
  20. bout.addActionListener (this);
  21. add(marie);
  22. add(divorce);
  23. add(celibataire);
  24. add(bout);
  25. setVisible(true);
  26. setLayout(new FlowLayout());
  27. setTitle("Jeu");
  28. setBounds(100,100,250,150);
  29.  
  30. }
  31.  
  32. public void actionPerformed(ActionEvent e) {
  33. if (e.getSource() == celibataire)
  34. JOptionPane.showMessageDialog(null, "bravo");
  35.  
  36.  
  37. else if (e.getSource() != celibataire)
  38.  
  39. JOptionPane.showMessageDialog(null,
  40. "mauvaise reponse niark niark");
  41.  
  42. }
  43.  
  44.  
  45. public static void main(String[] args) {
  46. Frame f = new Jeu();
  47. }
  48. }


merci beaucoup!

Autres pages sur : erreur code

Lassé par la pub ? Créez un compte

a tout hasard :
  1. if (e.getSource() == bout)
  2. {
  3. if celibataire.Checked //po sur de la syntax exacte
  4. JOptionPane.showMessageDialog(null, "bravo");
  5. else
  6. JOptionPane.showMessageDialog(null, "mauvaise reponse niark niark");
  7. }

en fait j'ai pas programme en java depuis un bon bout de temps (2 ans ?) donc le "checked" c'etait totalement au pif.
Regarde la javadoc sur les checkbox pour voir comment tester si c'est coche ou pas.
en gros le probleme de ton code c'est que la source dans actionPerformed est toujours le bouton "bout", jamais les checkbox. Donc tu verifies si le bouton est clicke (au cas ou ton action performed ait a gerer d'autres evenements) et si c'est le cas tu test si la checkbox "celibataire" est coche...

oui oui j'ai resolu le probleme, enfin on m'a bien aidé
  1. package com.jeu3.test;
  2.  
  3. import java.awt.*;
  4. import java.awt.event.*;
  5. import javax.swing.*;
  6.  
  7.  
  8. public class Jeu3 extends Frame implements ActionListener
  9. {
  10. Frame f = new Frame("jeu");
  11. Label situation = new Label("quel est le chanteur du groupe Placebo?");
  12. JRadioButton chant1;
  13. JRadioButton chant2;
  14. JRadioButton chant3;
  15. Button bout = new Button("entrez votre reponse");
  16. Button quitter = new Button ("quitter l'application");
  17.  
  18.  
  19.  
  20. public Jeu3() {
  21.  
  22. chant1 = new JRadioButton("Brian Molko");
  23. chant2 = new JRadioButton("Johnny Halliday");
  24. chant3 = new JRadioButton("Jean Pascal");
  25. ButtonGroup bg = new ButtonGroup();
  26. bg.add(chant1);
  27. bg.add(chant2);
  28. bg.add(chant3);
  29. bout.addActionListener (this);
  30. quitter.addActionListener(new ListenerQuitter());
  31. add(situation);
  32. add(chant1);
  33. add(chant2);
  34. add(chant3);
  35. add(bout);
  36. add(quitter);
  37. setVisible(true);
  38. setLayout(new FlowLayout());
  39. setTitle("Jeu");
  40. setBounds(100,100,250,150);
  41.  
  42. }
  43.  
  44. public void actionPerformed(ActionEvent e) {
  45. if (chant1.isSelected())
  46. JOptionPane.showMessageDialog(null, "bravo!!");
  47.  
  48.  
  49. else
  50.  
  51. JOptionPane.showMessageDialog(null,
  52. "mauvaise reponse niark niark");
  53.  
  54. }
  55. class ListenerQuitter implements ActionListener
  56. {
  57. public void actionPerformed(ActionEvent e)
  58. {
  59. System.exit(0);
  60. }
  61. }
  62.  
  63.  
  64. public static void main(String[] args) {
  65. Frame f = new Jeu3();
  66. }
  67. }


mais j'aimerais creer un quizz, avec un systeme de point et donc de score final
pourrais tu m'aiguiller?
merci!!

j'aime po trop le "ListenerQuitter" ... autant tout foutre dans le actionPerformed pricipal avec des e.getSource...
Sinon pour le questionnaire, tu peux faire un tableau de chaines pour question + reponse (
question[0] = ["Question0","reponse0","reponse1","reponse2","reponse3"]
question[1] = ["Question1","reponse0","reponse1","reponse2","reponse3"]
... regardes pas l'ecriture, pas fait de java depuis 2 ans, je propose juste une methode) associe a un tableau d'entier indiquant le numero de la reponse (reponse[0] = 2; reponse[1] = 3 ...) (a toi de te demerder pour charger ces tableaux dynamiquement depuis un fichier texte ou bien directement les foutre en code...)
A chaque fois que le bouton bout est presse, dans le actionListener, tu regardes si le radioBouton selectionne est le bon, puis tu change le label indiquant la question ainsi que le label associe a chaque radioButton...
a toi de te demerder avec cette idee :) 

huumm
je vais faire comme dans mon code, mettre plusieurs questions puis attribuer une bonne reponse qui sera egale a 1
et au final, un total des points ( du aux bonnes reponses) est calculé
donc en faites il faudrait que je mette un truc du genre :
  1. public void actionPerformed(ActionEvent e) {
  2. if (chant1.isSelected())
  3. pt == 1


avec declaration du type :
Point pt;
suis je sur la bonne route ou suis je completement à l'ouest??
je debute et je te remercie pour ta reponse, que je rouve un peu compliquée... :$

bah pas trop le temps d'affiner l'idee ni l'ecriture, j'suis au taff la :D 

pour le point, utilise juste un entier et tu fais
pt += 1;

ma solution peut te paraitre compliquee mais elle permet de garder un code compacte si tu fais un gros quizz vu que le code est reutilise a chaque question. Apres si tu fais juste un quizz de 4 questions pour le fun, pas besoin de faire ca [:ddr555]
ma solution suppose (desole je ne l'avais pas ecris) de n'afficher qu'une question a la fois et de passer a la question suivante en appuyant sur un bouton...

enfin c'est toi qui voit ce que tu veux faire :) 

Oui j'avais pensé à ca, c'est beaucoup mieux j'avoue
mais je ne te cache pas que je trouve cela difficile mais j'aimerais bien essayé cette facon et est ce que tu peux m'aider?
quand je clike par exemple, sur "question suivante", dans la meme fenetre, apparait une nouvelle question

merci

je ne pourrais pas t'aider beaucoup plus que ca pour plusieurs raisons :
- pas utilise Java depuis 2 ans et pas envie de me remettre a lire de la doc pour te pondre des bouts de code exactes :D 
- c'est a toi de chercher comment faire, je peux te donner des idees mais il vaut mieux apprendre en experimentant soi-meme :)  (excuse a deux balles je sais mais j'utilise internet au boulot seulement, j'ai pas la motive pour passer trop de temps en dehors de mon projet, de plus Kangol est bien mieux place que moi pour t'aider en Java :D )

je
Lassé par la pub ? Créez un compte