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 de la même categorie
"PROGRAMMEUR", EST UN PROGRAMME QUI PERMET DE TAPER QUELQUE ..."PROGRAMMEUR", EST UN PROGRAMME QUI PERMET DE TAPER QUELQUE CHOSE DANS UN BLOC-NOTE ET DE LE CONVERTIRE EN FICHIER DE PROGRAMMATION AVEC LE CODE SOURCE."Programmeur", est un programme pour convertire du "langage humain":
affiche, variable, main (exception), ...
En:
System.out.println("");, int/lo...
par edouard333
"NARRATEUR", PROGRAMME QUI "LIT" SE QU'ON ÉCRIT..."NARRATEUR", PROGRAMME QUI "LIT" SE QU'ON ÉCRIT..."Narrateur" est programme qui "lit" se qu'on écrit, mais je ne l'ai pas encore fini mais je le met pour voir si ça à de l'intérêt... Le programme n'es...
par edouard333
RENAME-MOARRENAME-MOARProgramme permettant de renommer plusieurs fichiers d'un répertoire sélectionné.
On peut :
- Changer le nom au complet en ajoutant une partie var...
par cotepierrot
DWIKI (DESKTOPWIKI)DWIKI (DESKTOPWIKI)Un petit wiki en Java. Il s'agit d'un projet scolaire de 2008. J'apprécierais vos commentaires car un certain prof que je ne nommerai pas a été très s...
par xsimo
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
|
Derniers Blogs
TECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURSTECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURS par ROMELARD Fabrice
Animé par: Laurent Cotton Le développement dans SharePoint 2010 passe par plusieurs axes qui seront évoqués dans cette session, mais plus particulièrement les développements simples lié au besoin Business Business Connectivity Services Ce BCS es...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOURTECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOUR par ROMELARD Fabrice
Cette session est la dernière pleinière de ces 3 jours de TechDays Paris 2010. Généralement, cette troisième journée est plus axée sur l'avenir vu par Microsoft. Après un retour sur l'avenir vu par la Science Fiction ou par ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion
Forum
AIDE TALEAU JAVAAIDE TALEAU JAVA par ziliass
Cliquez pour lire la suite par ziliass
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|