Bonsoir,
j'ai écrit ce condition if, mais ce dernier donne erreur
!(A/100) est souligné
veuillez m'aidez svpif (( B==(A/400) || !(A/100) && (A/4) ))
Bonsoir,
j'ai écrit ce condition if, mais ce dernier donne erreur
!(A/100) est souligné
veuillez m'aidez svpif (( B==(A/400) || !(A/100) && (A/4) ))
Dans ton test tu mélange des int ou float avec des boolean
Un peu comme si tu comparais des mètres et des kilogrammes
Dis nous ce que tu veux sous la forme : je veux tester si B est égal à A/400, ou B n'est pas égal à A/100 ..... on te feras ton test
Donnes nous aussi le type de A et B int float...
Développeur Java
Site Web
mon algorithme est la suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 System.out.println("Entrez le numéro du jour:"); Scanner valeur=new Scanner(System.in); int J=valeur.nextInt(); System.out.println("Entrez le numéro du mois:"); int M=valeur.nextInt(); System.out.println("Entrez l'année:"); int A=valeur.nextInt(); int VM, VJ,B;
B= A divisé par 400 ou (non(A divisé par 100) et A divisé par 4
JMAX=0;
VM = M>=1 et M=>12
si VM alors
si M=2 et B alors
JMAX=29
sinonsi M=2 alors
JMAX =28
sinonsi M=4 ou M=6 ou M=9 ou M=11 alors
JMAX=30
sinon
JMAX=31
finsi
VJ= J>=1 et J=< JMAX
finsi
ainsi de suite;
mon prg consiste, utilisateur donne une date et le prg dit que le date est valide ou pas
Hello,
l'opérateur de division, comme tu as certainement dû le voir en de nombreuses occasions, calcule la division des deux nombres à sa droite et à sa gauche. Le résultat de cet opérateur est donc un troisième nombre, la division.
De cela, on peut déduire que son résultat n'est pas un booléen, et notamment pas un indicateur de si quelque chose est arithmétiquement divisible par autre chose.
Pour savoir si un nombre est divisible par un autre, on peut regarder si le reste de la division euclidienne est zéro :
Exemples :
Code : Sélectionner tout - Visualiser dans une fenêtre à part if((a%b) == 0)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 if(3%2 == 0) { System.out.println("3 est divisible par 2"); } else { System.out.println("3 n'est PAS divisible par 2"); } if(4%2 == 0) { System.out.println("4 est divisible par 2"); } else { System.out.println("4 n'est PAS divisible par 2"); }
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
c'est pas ce que marc te demandeB= A divisé par 400 ou (non(A divisé par 100) et A divisé par 4
tu donne A et B en int mais tu retourne plus ou moins dun boolean cest pas logique
mais pour faire des opérations avec une date tu a l'objet Calendar en Java Standard la tu au moins essayer tu fais tout avec
Développeur Java
Site Web
en essayant comme ceci
j'ai un message:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if(B==((A/4) && !(A%100)) ||(A/400))
multiple markers at this line
operator ! est undefined for the argument type int
je comprend que operator ! undefined pour argument type int
quel est la solution svp?
Hello again,
La solution est de faire ce que j'ai dit et de ne pas faire autre chose que ce que j'ai dit.
Notamment, ton code ne contient aucun 0 et aucun ==
Il est donc évident que ça ne ressemble pas à mon exemple.
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
Ceylon : Installation - Concepts de base - Typage - Appels et arguments
ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
Une solution vous convient ? N'oubliez pas le tag
Signature par pitipoisson
vous voulez que je fasse comme ceci?
if ( (A%400) || (!(A%100)==0) && (A%4) )
Disons que c'est un début..
A ton avis, quel est le type de la donnée renvoyé par l'opération "A%400" ? Et en quoi/comment ce type peut être utilisé dans un if(..) ?
Nous, personnellement, on ne veut rien...
Ton expression est fausse, suffit de la passer dans le compilo pour le voir directement. Rien que le
ne marchera pas, le reste même pas besoin d'y regarder.
Code : Sélectionner tout - Visualiser dans une fenêtre à part if (A%400)
(Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
est ce que c'est bien ça
if ( (A%400==0) || (!(A%100==0) && (A%4==0) ) )
Bah ça me parait déjà mieux non ? T'en penses quoi toi ? Il te dit quoi le compilo ?
Pense quand même à mettre les parenthèse qui vont bien dans un soucis de compréhension.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ( (i%4) == 0 ) && ...
Oui je confirme !!!! et il y a une FAQ Java qui traite précisément de ton soucis : vérifier qu'une date est valide.mais pour faire des opérations avec une date tu a l'objet Calendar en Java Standard la tu au moins essayer tu fais tout avec
Je ne te mets pas le raccourci, je te laisse la trouver
Développeur Java
Site Web
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager