Pb syntaxe while true java
Fermé
flambySYS
Messages postés
43
Date d'inscription
vendredi 25 février 2011
Statut
Membre
Dernière intervention
21 septembre 2012
-
28 oct. 2011 à 19:37
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 - 28 oct. 2011 à 22:59
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 - 28 oct. 2011 à 22:59
A voir également:
- Java while true
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Acronis true image - Télécharger - Sauvegarde
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
3 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
28 oct. 2011 à 20:17
28 oct. 2011 à 20:17
La comparaison de valeurs se fait avec l'opérateur ==
L'opérateur = est utilisé pour l'affectation
Donc tu devrais faire while(true==mafonction())
Mais ici la comparaison ne sert à rien, car ma fonction() est déjà un booléen.
Le plus correct est donc while(mafonction())
L'opérateur = est utilisé pour l'affectation
Donc tu devrais faire while(true==mafonction())
Mais ici la comparaison ne sert à rien, car ma fonction() est déjà un booléen.
Le plus correct est donc while(mafonction())
flambySYS
Messages postés
43
Date d'inscription
vendredi 25 février 2011
Statut
Membre
Dernière intervention
21 septembre 2012
28 oct. 2011 à 20:29
28 oct. 2011 à 20:29
lorsque je mets
il renvoie ça :
et pour ca
j'ai ça:
je suis bloqué.
ma fonction est défini dans la meme classe mais n'est pas dans le meme bloc.
while(true==mafonction())
il renvoie ça :
The operator == is undefined for the argument type(s) boolean, void
et pour ca
while(mafonction())
j'ai ça:
Type mismatch: cannot convert from void to boolean
je suis bloqué.
ma fonction est défini dans la meme classe mais n'est pas dans le meme bloc.
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
28 oct. 2011 à 20:33
28 oct. 2011 à 20:33
Quand tu compares deux élements avec == ils doivent être de même type.
Ici visiblement c'est parce que mafonction ne renvoit pas de type booléen...
Quel est le type de retour de mafonction ?
Ici visiblement c'est parce que mafonction ne renvoit pas de type booléen...
Quel est le type de retour de mafonction ?
flambySYS
Messages postés
43
Date d'inscription
vendredi 25 février 2011
Statut
Membre
Dernière intervention
21 septembre 2012
28 oct. 2011 à 20:42
28 oct. 2011 à 20:42
le principe du code est une horloge:
Ma fonction incrHeure ne renvoie pas un bouleen mais comment je peu l'adapter?
public class horloge { public static void main(String[] args) { int[] time={0,0,0}; while(incrHeure(time)) { afficherHeure(time); } } private static void afficherHeure(int[] heure){ System.out.println ("il est "+ heure[0] + heure[1] +heure [2]); } private static void incrHeure(int[] heure){ heure [2]++; if(heure[2]==60){ heure[2]=0; heure[1]++; if(heure[1]==60){ heure[1]=0; heure[0]++; if(heure[0]==24){ heure[0]=0; } } } } }
Ma fonction incrHeure ne renvoie pas un bouleen mais comment je peu l'adapter?
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
28 oct. 2011 à 20:53
28 oct. 2011 à 20:53
Tout dépend ce que tu veux faire...
Il faudrait que l'incrémentation de l'heure renvoie vrai ou faux. Pour moi ça n'a pas beaucoup de sens mais si ça en a pour toi, alors rajoute un return true, ou un return false là où il faut.
Il faudrait que l'incrémentation de l'heure renvoie vrai ou faux. Pour moi ça n'a pas beaucoup de sens mais si ça en a pour toi, alors rajoute un return true, ou un return false là où il faut.
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 291
28 oct. 2011 à 22:59
28 oct. 2011 à 22:59
J'adore KX ça n'a pas de sens ^.^
Au passage, afficher Time affichera toujours la même chose, puisque time n'est commun qu'à une seule fonction, même si tu le passes en paramètres, il sera modifié dans ton autre fonction, mais pas mis à jour, pour la simple et bonne raison que celui que tu donnes en paramètre au début n'est en fait jamais incrémenté.
Au passage, afficher Time affichera toujours la même chose, puisque time n'est commun qu'à une seule fonction, même si tu le passes en paramètres, il sera modifié dans ton autre fonction, mais pas mis à jour, pour la simple et bonne raison que celui que tu donnes en paramètre au début n'est en fait jamais incrémenté.