Accueil > > > CALCUL LE JOUR SUIVANT D'UNE DATE EN FONCTION DES ANNÉES BISSEXTILE ET LE NOMBRE DE JOURS DANS CHAQUE MOIS.
CALCUL LE JOUR SUIVANT D'UNE DATE EN FONCTION DES ANNÉES BISSEXTILE ET LE NOMBRE DE JOURS DANS CHAQUE MOIS.
Information sur la source
Description
Calcule et affiche le jour suivant d'une date en fonction des années bissextile et le nombre de jours dans chaque mois.
Source
- //AUTEUR : BY ALINO-91
- import java.util.Scanner;
-
- public class JourSuivant {
-
- public static void main(String[] args) {
- JourSuivant objProgramme = new JourSuivant();
- objProgramme.menu();
- }
-
- private void menu() {
-
- Scanner objSaisie = new Scanner(System.in);
-
- int choix = 0;
-
- while (choix != 2) {
-
- System.out.println(" ");
- System.out.println("***********************************************************");
- System.out.println("* 1 : Saisir une date et connaître la date du lendemain *");
- System.out.println("* 2 : Quitter le programme *");
- System.out.println("***********************************************************");
-
- System.out.println(" ");
- System.out.println(" Faites votre choix par rapport au menu ci-dessus, en saisissant le nombre" +
- " qui correspond au choix que vous désirez, suivi de la touche entrée : ");
- choix = objSaisie.nextInt();
-
- while (choix < 1 || choix > 2) {
- System.out.println("erreur, veuillez saisir un nombre qui correspond à un choix possible entre [1;2] ");
- choix = objSaisie.nextInt();
- }//fin while
-
- if (choix == 1) {
- this.saisisDate();
- }
-
- }//fin while
- System.out.println(" ");
- System.out.println("Fin du programme");
- System.out.println(" ");
- }//fin private void menu
- private void saisisDate() {
-
- Scanner objSaisie = new Scanner(System.in);
-
- int jour, mois, annee;
- int nbrJoursMois;
- boolean anneeBissextileOuNon;
- String dateLendemain;
-
- System.out.println(" ");
- System.out.println("Saisir un jour compris entre 1 et 31");
- jour = objSaisie.nextInt();
- jour = this.verificationSaisis(jour, 1, 31);
- System.out.println(" ");
-
- System.out.println("Saisir un mois compris entre 1 et 12");
- mois = objSaisie.nextInt();
- mois = this.verificationSaisis(mois, 1, 12);
- System.out.println(" ");
-
- System.out.println("Saisir une année quelconque");
- annee = objSaisie.nextInt();
- annee = this.verificationSaisis(annee, 1582, Integer.MAX_VALUE);
- System.out.println(" ");
-
- anneeBissextileOuNon = this.anneeBissextile(annee);
- nbrJoursMois = this.calculeNbrJoursMois(mois, anneeBissextileOuNon);
- dateLendemain = this.calculDateLendemain(jour, mois, annee, nbrJoursMois);
- System.out.println("------------------------------------------------------------------------------------------------------");
- System.out.println("La date du lendemain, (en fonction de la date saisis précédemment) est : " + dateLendemain);
- System.out.println("----------------------------------------------------------------------------------------------------- ");
-
- }//fin private void saisisDate
- private String calculDateLendemain(int jour, int mois, int annee, int nbrJoursMois) {
-
- Scanner objSaisie = new Scanner(System.in);
-
- String dateLendemain;
-
- if (jour > nbrJoursMois) {
- do {
- System.out.println("Erreur, le mois saisis ne peut pas comprendre " + jour + " jours. Veuillez saisir un jour qui est" +
- " compris dans le mois et l'année que vous avez saisis précédemment");
- jour = objSaisie.nextInt();
- } while (jour > nbrJoursMois || jour <= 0);
- }
-
- jour++;
-
- if (jour == nbrJoursMois + 1) {
- mois++;
- jour = 1;
- }
-
- if (mois == 13 && jour == 1) {
- annee++;
- mois = 1;
- }
-
- dateLendemain = jour + "/" + mois + "/" + annee;
- return dateLendemain;
-
- }//fin private String calculDateLendemain
- private int verificationSaisis(int valeur, int min, int max) {
-
- Scanner objSaisie = new Scanner(System.in);
-
- while (valeur < min || valeur > max) {
-
- System.out.println("erreur, veuillez saisir un nombre compris entre " + min + " et " + max);
- valeur = objSaisie.nextInt();
- }
-
- return valeur;
-
- }//fin private int verificationSaisis
- private boolean anneeBissextile(int annee) {
-
- boolean booleen = false;
-
- if (annee % 400 == 0 || annee % 4 == 0 && annee % 100 != 0) {
-
- booleen = true;
- }
-
- return booleen;
-
- }//fin private boolean anneeBissextile
- private int calculeNbrJoursMois(int mois, boolean anneeBissextileOuNon) {
-
- int jours = 0;
-
- switch (mois) {
-
- case 1:
- case 3:
- case 5:
- case 7:
- case 8:
- case 10:
- case 12:
- jours = 31;
- break;
-
- case 4:
- case 6:
- case 9:
- case 11:
- jours = 30;
- break;
-
- case 2:
- if (mois == 2 && anneeBissextileOuNon == true) {
- jours = 29;
- } else {
- jours = 28;
- }
-
- break;
- }//ferme le switch
-
- return jours;
-
- }//fin private int calculeNbrJoursMois
- }//fin public class JourSuivant
-
//AUTEUR : BY ALINO-91
import java.util.Scanner;
public class JourSuivant {
public static void main(String[] args) {
JourSuivant objProgramme = new JourSuivant();
objProgramme.menu();
}
private void menu() {
Scanner objSaisie = new Scanner(System.in);
int choix = 0;
while (choix != 2) {
System.out.println(" ");
System.out.println("***********************************************************");
System.out.println("* 1 : Saisir une date et connaître la date du lendemain *");
System.out.println("* 2 : Quitter le programme *");
System.out.println("***********************************************************");
System.out.println(" ");
System.out.println(" Faites votre choix par rapport au menu ci-dessus, en saisissant le nombre" +
" qui correspond au choix que vous désirez, suivi de la touche entrée : ");
choix = objSaisie.nextInt();
while (choix < 1 || choix > 2) {
System.out.println("erreur, veuillez saisir un nombre qui correspond à un choix possible entre [1;2] ");
choix = objSaisie.nextInt();
}//fin while
if (choix == 1) {
this.saisisDate();
}
}//fin while
System.out.println(" ");
System.out.println("Fin du programme");
System.out.println(" ");
}//fin private void menu
private void saisisDate() {
Scanner objSaisie = new Scanner(System.in);
int jour, mois, annee;
int nbrJoursMois;
boolean anneeBissextileOuNon;
String dateLendemain;
System.out.println(" ");
System.out.println("Saisir un jour compris entre 1 et 31");
jour = objSaisie.nextInt();
jour = this.verificationSaisis(jour, 1, 31);
System.out.println(" ");
System.out.println("Saisir un mois compris entre 1 et 12");
mois = objSaisie.nextInt();
mois = this.verificationSaisis(mois, 1, 12);
System.out.println(" ");
System.out.println("Saisir une année quelconque");
annee = objSaisie.nextInt();
annee = this.verificationSaisis(annee, 1582, Integer.MAX_VALUE);
System.out.println(" ");
anneeBissextileOuNon = this.anneeBissextile(annee);
nbrJoursMois = this.calculeNbrJoursMois(mois, anneeBissextileOuNon);
dateLendemain = this.calculDateLendemain(jour, mois, annee, nbrJoursMois);
System.out.println("------------------------------------------------------------------------------------------------------");
System.out.println("La date du lendemain, (en fonction de la date saisis précédemment) est : " + dateLendemain);
System.out.println("----------------------------------------------------------------------------------------------------- ");
}//fin private void saisisDate
private String calculDateLendemain(int jour, int mois, int annee, int nbrJoursMois) {
Scanner objSaisie = new Scanner(System.in);
String dateLendemain;
if (jour > nbrJoursMois) {
do {
System.out.println("Erreur, le mois saisis ne peut pas comprendre " + jour + " jours. Veuillez saisir un jour qui est" +
" compris dans le mois et l'année que vous avez saisis précédemment");
jour = objSaisie.nextInt();
} while (jour > nbrJoursMois || jour <= 0);
}
jour++;
if (jour == nbrJoursMois + 1) {
mois++;
jour = 1;
}
if (mois == 13 && jour == 1) {
annee++;
mois = 1;
}
dateLendemain = jour + "/" + mois + "/" + annee;
return dateLendemain;
}//fin private String calculDateLendemain
private int verificationSaisis(int valeur, int min, int max) {
Scanner objSaisie = new Scanner(System.in);
while (valeur < min || valeur > max) {
System.out.println("erreur, veuillez saisir un nombre compris entre " + min + " et " + max);
valeur = objSaisie.nextInt();
}
return valeur;
}//fin private int verificationSaisis
private boolean anneeBissextile(int annee) {
boolean booleen = false;
if (annee % 400 == 0 || annee % 4 == 0 && annee % 100 != 0) {
booleen = true;
}
return booleen;
}//fin private boolean anneeBissextile
private int calculeNbrJoursMois(int mois, boolean anneeBissextileOuNon) {
int jours = 0;
switch (mois) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
jours = 31;
break;
case 4:
case 6:
case 9:
case 11:
jours = 30;
break;
case 2:
if (mois == 2 && anneeBissextileOuNon == true) {
jours = 29;
} else {
jours = 28;
}
break;
}//ferme le switch
return jours;
}//fin private int calculeNbrJoursMois
}//fin public class JourSuivant
Historique
- 27 janvier 2008 19:59:29 :
- while (jour > nbrJoursMois || jour <= 0);
A modifier dans la méthode calculDateLendemain
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Besoin d'un p'tit coup de pouce!!! [ par Milie ]
Bonjour à tous!!Je suis en deuxiéme année de DUT informatique option imagerie numérique et mon projet de fin d'année porte sur le langage Java.Je cher
Source Jeu Tarot !!! Aidez moi !!! [ par TeKCoP ]
Bonjour, tout le monde !!!Jaurai besoin de votre aide, je m'explique, je suis a IUT info 1er année et jai un jeu de tarot a realise pour un projet. Je
Comment obtenir l'année de la date du jour - URGENT [ par chyplie ]
Bonjour j'aurais aimer savoir comment obtenir l'année de la date système, celle ci doit ensuite être accessible de toutes mes classes. Merci
Class Date - - débutant !! [ par juancho2786 ]
Bonsoir, je suis debutant et j'airamerais savoir si la class Date est bien faite ( peut etre rajouter des commentaires) et s'il faut rajouter encore d
Biomédical/informatique, des débouchés? [ par Nicooo24 ]
Bonsoir, Voila,je suis actuellement en école d'ingénieur en Biomédical (1ere année) mais je souhaite avoir un peu plus de précision. Alors avant tout
probleme de JCombobox [ par nassr ]
salut, je travaille sur une application où je choisi l'année universitaire et je reçois le total des dépenses et le total des Recettes pour calculer l
Calendrier en console [ par lp0683 ]
Bonjour à tous, Je dois rendre un petit programme exécutable en console qui print un calendrier du mois. Le mois et l'année sont donnée en paramètre
base de donnée??? [ par sidibouzid ]
bonjour a tous, on ma dit que l'année prochaine je ferais les base de donnée et je c pa c koi ni en kel langage on programme. si qlq1 peu m aider, de
bibliothéque des ouvrages batiprix [ par koukouwa9 ]
Bonjour, je suis une etudiante en 3 éme année informatique et gestion en fsegs mon projet fin d'etude de cette année sur batiprix la partie qui conce
[Application] Télécommande TV [ par arkiz ]
Hi, Je ne suis pas sur d'avoir posté au bon endroit, veuillez m'excuser si ce n'est pas le cas. Je vais essayer d'être le plus clair possible pour qu
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|