|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
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
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|