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"); }
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) )
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 booleancest 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.
Partager