If condition avec division [Résolu/Fermé]

Signaler
-
Messages postés
11
Date d'inscription
vendredi 24 février 2012
Statut
Membre
Dernière intervention
29 juillet 2015
-
Bonjour,
dans mon prg je n'arrive pas utiliser division dans la condition if
veuillez m'aidez svp
voilà mon prg:

import java.util.Scanner;
public class Testing
{
public static void main(String[] args)
{
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 JMAX;
boolean VJ,VM,B;

if((M<1)||(M>12))
{ System.out.println("Date est invalide:");}
else if (M==2)
if(A / 400)
if(J<1 || J>29)
System.out.println("Date est invalide:");
else
System.out.println("Date est valide:");
else if(A/100)
if(J<1 || J>28)
System.out.println("Date est invalide:");
else
System.out.println("Date est valide:");
}
}

si vous avez une solution, dites moi svp

10 réponses

Messages postés
11
Date d'inscription
vendredi 24 février 2012
Statut
Membre
Dernière intervention
29 juillet 2015
1
Salut à toi, dans une condition if tu dois faire une comparaison. Il faut donc que tu formule la chose de la sorte :

if (variable1 == variable1/400)

Soit :

if(A == A/400)
if(A == A/100)
Car là tu ne fait pas de comparaison.

Cordialement
voilà j'écris mon prg mais
quand je rentre les données suivantes
jour:29, mois :2, année:2015.
il me retourne le date est valide,
normalement il devait me retourner le date est invalide.

quand je rentre
Entrez le numéro du jour:
32
Entrez le numéro du mois:
6
Entrez l'année:
2015

il me retourne aucun réponse
aidez moi svp

import java.util.Scanner;
public class Testing
{
public static void main(String[] args)
{

char reponse='0';
do{
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();

if((M<1)||(M>12))
{
System.out.println("Date est invalide:");
}
else if (M==2)
{
if(A==(A /400))
{
if(J<1 || J>29)
{
System.out.println("Date est invalide:");
}
else
{
System.out.println("Date est valide:");
}
}

else if(A==(A /100))
{
if(J<1 || J>28)
{
System.out.println("Date est invalide:");
}
else
{
System.out.println("Date est valide:");
}
}
else if(A==(A/4))
{
if(J<1 || J>28)
{
System.out.println("Date est invalide:");
}
else
{
System.out.println("Date est valide:");
}
}
else if(M==4 || M==6 || M==9 || M==11)
if(J<1 || J >30)
{
System.out.println("Date est invalide:");
}
else
{
System.out.println("Date est valide:");
}
else
{
if(J<1 || J>31)
{
System.out.println("Date est invalide:");
}
else
{
System.out.println("Date est valide:");
}
}}
System.out.println("");
System.out.println("Voulez vous reessayer,(O/N");
Scanner sc=new Scanner(System.in);
reponse=sc.nextLine().charAt(0);
}
while(reponse=='O');
System.out.println("Au revoir...");
}
}
j'ai corrigé mon erreur merci beaucoup
j'aimerais bien entrer ce valeur tel quel est dans mon variable B


(A/400) || (!(A/100) && (A/4)

quelqu'un a une solution svp?
et encore
dans la variable VM il faut mettre la valeur :

M>=1 et M=<12;
le premier j'ai essayé comme ceci mais
if((B==(A/400)|| !(A/100)&&(A/4)));
!(A/100) est souligné

la deuxième a été accepté comme ceci
if(VM==((M>=1) && (M<12)))
il n' y a personne pour m'aider
if faut faire comme ça:
if(B==(A%400==0) || (!(A%100==0) && (A%4==0)))

merci beaucoup
Messages postés
11
Date d'inscription
vendredi 24 février 2012
Statut
Membre
Dernière intervention
29 juillet 2015
1
Désolé de n'avoir pu t'aider ;)

As tu réglé tout tes problèmes ?