Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1149 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Aide boucle While Encore ?? je pete un cable ... :'(

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Aide boucle While Encore ?? je pete un cable ... :'(

n°1806167
baobab9521​0
Posté le 29-10-2008 à 23:37:36  profilanswer
 

Bonjour !
Voici mon exercice :
Exercice 3. Ecrivez un programme Encore qui demande à l’utilisateur « encore ? », et qui continue de lui poser la question tant que celui-ci lui ré́pond « oui ».
 
Je dois dire qu'en cours je me débrouille assez bien, je suis le seul (je crois) à avoir entamer ce TP à la maison...Bref ! je voyais la chose simple, mais rien ne marche java pas du tout !!!
 
mon code :
 
import fr.jussieu.script.*;
public class Encore {
    public static void main(String[] args) {
 
 String a="oui";
 while(a = "oui" ){
     Deug.println("Encore???" );
     a = Deug.readString();
 }
    }
}
 
 
 
j'ai essayer pleinnnnnnnns de choses comme :
 
import fr.jussieu.script.*;
public class Encore {
    public static void main(String[] args) {
 
 String a;
        boolean b = true;
 
       do {  
            Deug.println("Encore ?" );
            a = Deug.readString;
            if ( a = "oui" ){
                 b = true;
            }
            else {
                 b = false
            }
        }while(b = true )
    }
}
 
rien ne marche, et d'ailleur avec le deuxieme code, j'ai éssayer un truc, j'ai demander d'afficher b, et il se trouve qu'il est tout le temps false !! meme quand je rentre oui. c'est pour cela que la boucle ne se fait pas ! ma question est alors POURQUOI ?? vraiment je ne comprend pas ! need help !  
 
d'avance merci

mood
Publicité
Posté le 29-10-2008 à 23:37:36  profilanswer
 

n°1806206
brisssou
8-/
Posté le 30-10-2008 à 08:26:34  profilanswer
 

pourquoi le comportement de '=' serait différent entre

Code :
  1. String a="oui";


et

Code :
  1. while(a = "oui" ){ ... }


?


Message édité par brisssou le 30-10-2008 à 08:26:58

---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1806207
kao98
...
Posté le 30-10-2008 à 08:32:48  profilanswer
 

En java, la comparaison, c'est pas comme en C ?
Si c'est bien le cas, alors '=' != '==' !
'=', c'est l'opérateur d'afectation.
'==', c'est l'opérateur de comparaison.


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1806210
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 30-10-2008 à 08:57:50  profilanswer
 

kao98 a écrit :

En java, la comparaison, c'est pas comme en C ?


et si...


---------------
J'ai un string dans l'array (Paris Hilton)
n°1806217
baobab9521​0
Posté le 30-10-2008 à 09:49:28  profilanswer
 

en réalité c'est moi qui me suis trompé !
c'est String a = "oui";
et while ( a == "oui" ) car dans la parenthése du while c'est un boolean.
 
mais cela ne marche pas quand meme, quand je dis que je me suis trompé c'est en recopiant le code ici, le code d'origine que j'ai tapé était bon a ce niveau la.


Message édité par baobab95210 le 30-10-2008 à 09:50:44
n°1806223
brisssou
8-/
Posté le 30-10-2008 à 10:17:23  profilanswer
 

c'est pas clair.
 
poste ton vrai code.
 
Sinon, les String, c'est des Object. Ton prof a dû vous expliquer à quoi correspondait '==' pour des Object, non ?


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1806273
LeRiton
Posté le 30-10-2008 à 11:44:31  profilanswer
 

Hints : la comparaison de String, c'est equals(), et les String java sont immutables.

n°1806363
astrojojo
Editeur compulsif
Posté le 30-10-2008 à 14:25:13  profilanswer
 

LeRiton a écrit :

Hints : la comparaison de String, c'est equals()

 

J'allais le dire.

 
LeRiton a écrit :

les String java sont immutables.

 

J'arrive pas à voir le rapport ? On peut très bien faire : String a = "abc"; a="def"; non?
Ca ne sera plus vraiment le même objet, mais ça reste la variable a qu'on peut toujours comparer non (avec equals() je veux dire, peut-être pas '==') ?

Message cité 1 fois
Message édité par astrojojo le 30-10-2008 à 14:25:45
n°1806368
LeRiton
Posté le 30-10-2008 à 14:39:46  profilanswer
 

astrojojo a écrit :

J'arrive pas à voir le rapport ? On peut très bien faire : String a = "abc"; a="def"; non?  
Ca ne sera plus vraiment le même objet, mais ça reste la variable a qu'on peut toujours comparer non (avec equals() je veux dire, peut-être pas '==') ?


 
Complètement. Le rapport c'est que je trouve ça crade :D
 

n°1806370
astrojojo
Editeur compulsif
Posté le 30-10-2008 à 14:44:52  profilanswer
 

Tu ferais quoi à la place? Je vois pas trop d'autre solution à part faire une ArrayList<String> pour ajouter une nouvelle variable à chaque tour (mais beurk aussi).

mood
Publicité
Posté le 30-10-2008 à 14:44:52  profilanswer
 

n°1806385
LeRiton
Posté le 30-10-2008 à 15:01:23  profilanswer
 

Je chipote hein. Juste qu'à mon sens, la référence sert à rien. On veut "continuer tant que l'utilisateur tape "oui"", bin si je traduit bêtement, c'est :

 
Code :
  1. while (Deug.readString().equals("oui" )) {}
 

Je critiquais pas le changement de référence mais son utilisation. Je chipote quoi.

 

Edit : et non, toujours pas de rapport avec le fait que les String soient immutables. Mais c'est une info toujours intéressante [:dawa]

Message cité 1 fois
Message édité par LeRiton le 30-10-2008 à 15:06:17
n°1806386
astrojojo
Editeur compulsif
Posté le 30-10-2008 à 15:03:57  profilanswer
 

Ah oui tout simplement, merci :). (c'est bête mais j'ai du mal à penser à faire une boucle sans rien dans le bloc d'instructions). (mais il manque le println() ).


Message édité par astrojojo le 30-10-2008 à 15:05:04
n°1806388
LeRiton
Posté le 30-10-2008 à 15:09:32  profilanswer
 

[:ddr555]  
 
J'te dis pas de rien mettre dans le bloc, je donnais juste l'exemple de la condition pour ta boucle.

n°1806623
baobab9521​0
Posté le 30-10-2008 à 21:23:00  profilanswer
 

Bon pour mon exo ca marche !
par contre je n'avais jamais vu l'écriture .equal("oui" )
pourquoi cela ne marche pas avec un simple = ou deux == ??

n°1806625
masklinn
í dag viðrar vel til loftárása
Posté le 30-10-2008 à 21:28:13  profilanswer
 

LeRiton a écrit :

Je chipote hein. Juste qu'à mon sens, la référence sert à rien. On veut "continuer tant que l'utilisateur tape "oui"", bin si je traduit bêtement, c'est :

 
Code :
  1. while (Deug.readString().equals("oui" )) {}



Faut pas que readString puisse renvoyer null par contre :o

 

C'est pourquoi quand j'ai un littéral à tester contre une variable je met plutôt le littéral à gauche, pas de NPE possible comme ça :o

baobab95210 a écrit :

Bon pour mon exo ca marche !
par contre je n'avais jamais vu l'écriture .equal("oui" )
pourquoi cela ne marche pas avec un simple = ou deux == ??


C'est sûrement marqué dans ton cours


Message édité par masklinn le 30-10-2008 à 21:29:07

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1806633
baobab9521​0
Posté le 30-10-2008 à 21:43:24  profilanswer
 

ba ecoute sincérement si c'est marqué dans mon cours j'ai du le loupé ou ne pas entendre le prof mais comme je l'ai dit je suis assez attentif pendant les cours d'info.
Et puis on n'a jamais utilisé ca en TP. Je vais vérifier dans mon TD.
Si je ne l'est vraiment pas encore vu, il y a un autre moyen d'écrire ce programme ?

n°1806634
astrojojo
Editeur compulsif
Posté le 30-10-2008 à 21:48:52  profilanswer
 

C'était forcément en java l'exo ? Vous avez vu les bases de la POO ? Les notions d'instance/référence te disent quelque chose ?

n°1806635
baobab9521​0
Posté le 30-10-2008 à 21:50:38  profilanswer
 

non cela ne me dit rien. Et oui nous n'écrivons qu'en java et rien d'autre. Je crois que le C/C++ vient dans les années suivantes je ne suis pas sur. Personne ne vient de paris 7 ?

n°1806636
masklinn
í dag viðrar vel til loftárása
Posté le 30-10-2008 à 21:51:22  profilanswer
 

astrojojo a écrit :

C'était forcément en java l'exo ? Vous avez vu les bases de la POO ? Les notions d'instance/référence te disent quelque chose ?


Non mais ça c'est spécifique à Java, ça n'a aucun rapport avec la POO ou les notions d'instance ou référence :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1806637
astrojojo
Editeur compulsif
Posté le 30-10-2008 à 21:53:09  profilanswer
 

Oui je sais, c'est juste pour savoir s'il sait ce que fait exactement le '==' ou ce que c'est une méthode.

 

edit:

baobab95210 a écrit :

non cela ne me dit rien. Et oui nous n'écrivons qu'en java et rien d'autre. Je crois que le C/C++ vient dans les années suivantes je ne suis pas sur. Personne ne vient de paris 7 ?

 

Voilà, je trouve pas ça top de commencer comme ça :/ (c'est pas ta faute, c'est selon le programme prévu par les profs).


Message édité par astrojojo le 30-10-2008 à 21:54:30
n°1806638
masklinn
í dag viðrar vel til loftárása
Posté le 30-10-2008 à 21:54:15  profilanswer
 

baobab95210, va lire http://java.sun.com/mailers/techti [...] 822.html#2

astrojojo a écrit :

Oui je sais, c'est juste pour savoir s'il sait ce que fait exactement le '=='


Ben non sinon il n'aurait pas le problème :o

 

Mais ça n'a toujours pas de rapport, dans les langages avec operator overloading "==" est toujours utilisé pour l'égalité et jamais pour l'identité :o

Spoiler :

enfin si, par défaut l'égalité est définie comme l'idendité si on ne surdéfinit pas l'opérateur naturellement

Message cité 1 fois
Message édité par masklinn le 30-10-2008 à 21:56:07

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1806639
baobab9521​0
Posté le 30-10-2008 à 21:58:32  profilanswer
 

je viens de parcourir mon poly de TD et je n'ai pas vu marqué ca...
C'est quand meme con de nous donner des exos sans les outils ...  :/
 
pour vous si ca vous interesse :
http://www.pps.jussieu.fr/~jch/ens [...] f1/tp5.pdf

n°1806644
masklinn
í dag viðrar vel til loftárása
Posté le 30-10-2008 à 22:03:55  profilanswer
 

baobab95210 a écrit :

je viens de parcourir mon poly de TD et je n'ai pas vu marqué ca...


Ca n'a aucune raison d'être dans le poly de TP, et apparement c'est votre 5e TP, vous avez bien eu des cours non?


Message édité par masklinn le 30-10-2008 à 22:05:01

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1806645
astrojojo
Editeur compulsif
Posté le 30-10-2008 à 22:05:11  profilanswer
 

masklinn a écrit :


Ben non sinon il n'aurait pas le problème :o


C'était pour être sur :o.

 


masklinn a écrit :


Mais ça n'a toujours pas de rapport, dans les langages avec operator overloading "==" est toujours utilisé pour l'égalité et jamais pour l'identité :o


Justement y'a pas de surcharge en java :??:

  


Message cité 1 fois
Message édité par astrojojo le 30-10-2008 à 22:08:00
n°1806646
masklinn
í dag viðrar vel til loftárása
Posté le 30-10-2008 à 22:06:01  profilanswer
 

astrojojo a écrit :

Justement y'a pas de surcharge en java  :??:


Ben oui mais ça n'a de rapport qu'avec java, pas avec tout le reste ;


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1806649
astrojojo
Editeur compulsif
Posté le 30-10-2008 à 22:07:47  profilanswer
 

masklinn a écrit :


Ben oui mais ça n'a de rapport qu'avec java, pas avec tout le reste ;


 
ok (le ';' à la fin de la phrase, j'adore  [:megaseifer] )

n°1806650
masklinn
í dag viðrar vel til loftárása
Posté le 30-10-2008 à 22:09:34  profilanswer
 

astrojojo a écrit :

 

ok (le ';' à la fin de la phrase, j'adore  [:megaseifer] )


S'pasque je regarde/écoute http://www.youtube.com/watch?v=f_0QlhYlS8g&fmt=6 en même temps et ça me trouble [:thalis]

Message cité 1 fois
Message édité par masklinn le 30-10-2008 à 22:09:55

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1806651
astrojojo
Editeur compulsif
Posté le 30-10-2008 à 22:14:28  profilanswer
 

masklinn a écrit :


S'pasque je regarde/écoute http://www.youtube.com/watch?v=f_0QlhYlS8g&fmt=6 en même temps et ça me trouble [:thalis]


 
De quoi m'occuper demain au boulot cette vidéo [:transparency]  

n°1806653
masklinn
í dag viðrar vel til loftárása
Posté le 30-10-2008 à 22:16:24  profilanswer
 

astrojojo a écrit :

De quoi m'occuper demain au boulot cette vidéo [:transparency]  


Fais gaffe, c'est brain-unsafe


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1806680
baobab9521​0
Posté le 30-10-2008 à 22:55:02  profilanswer
 

ps j'ai bien marqué poly de TD et pas de TP, c'est donc mon cours, puisque j'ai aussi cours en amphi mais comment dire c'est loin....le prof nous a aujourd'hui montré pour la 3ieme fois de l'anné comment ecrire un nombre en base 10 en base 2 et 8 et 16...
Bref les seuls cour sur la programmation = TD et TP !

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Aide boucle While Encore ?? je pete un cable ... :'(

 

Sujets relatifs
les aides contextuelles d'eclipse n'apparaissent plus[SQL] Aide à la réalisation d'une simple requête update
Aide sur quicksort en pascal[batch] un bète SET puis ECHO dans une boucle for, mais non...
A fermerCentrage vertical d'une zone flash en HTML, besoin d'un peu d'aide
J'ai un souci d'iframes, je peux vous demander votre aide ?Besoins d'aide script ksh SVP!!!
Probleme de compatibilité IE / FireFox, vraiment besoin d'aide ! 
Plus de sujets relatifs à : Aide boucle While Encore ?? je pete un cable ... :'(


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR