Salut,
Si cela peut t'aider :
/** Programme complet ex12.java pour affichage du résultat à la console DOS:
*
* CODE DE L'EXEMPLE ( DETERMINER L'ÂGE D'UNE PERSONNE )
*
* Le résultat est affiché à la console sous la forme :
* ( Exemple 12 : )
*
* ( Nous sommes le <nom_du_jour>, <jour> <nom_du_mois> ).
* ( Une personne née le <nom_du_jour_de_naissance> <jour_de_naissance>
* <mois_de_naissance>
* sera [est] agée de an(s) le [aujourd'hui] <jour> <nom_du_mois> [] ).
* ( ------------------------------------------------------ ).
*
* Le résultat est aussi affiché dans une fenetre Message Info
**/
import java.io.*;
import java.util.GregorianCalendar;
import java.util.Calendar;
import javax.swing.*; // javax.swing.JOptionPane.showMessageDialog
public class ex12
{
// Les 2 tables : tabjours[], et tabmois[]
static String[] tabjours = {"dimanche", "lundi", "mardi", "mercredi", "jeudi",
"vendredi", "samedi"};
static String[] tabmois = {"janvier", "février", "mars", "avril", "mai", "juin", "juillet",
"août", "septembre", "octobre", "novembre", "décembre"};
static String ligne_avec_accents = "";
static int ex = 12;
public static String ex12()
{
String ligne0 = "";
String ligne1 = "";
String ligne2 = "";
String ligne3 = "";
int avec_sans_info 1; // 1 avec, 0 = sans message Info
// date de naissance
Calendar datedenaissance = new GregorianCalendar(1938,Calendar.JUNE,27);
// obtention des éléments de la date de naissance
int annee_dn = datedenaissance.get(Calendar.YEAR);
int num_mois_dn = datedenaissance.get(Calendar.MONTH);
int jour_dn = datedenaissance.get(Calendar.DAY_OF_MONTH);
int num_jour_dn = datedenaissance.get(Calendar.DAY_OF_WEEK);
// pour transformer jour_dn 1 possible en "1er" (donc de int à String) ...
// ... il faut d'abord convertir int jour_dn en String Sjour_dn
String Sjour_dn = Integer.toString(jour_dn);
if (Sjour_dn.equals("1")) Sjour_dn = "1er";
// date du jour
Calendar aujourdhui = Calendar.getInstance();
// obtention des éléments de la date du jour
int annee = aujourdhui.get(Calendar.YEAR);
int num_mois = aujourdhui.get(Calendar.MONTH);
int jour = aujourdhui.get(Calendar.DAY_OF_MONTH);
int num_jour = aujourdhui.get(Calendar.DAY_OF_WEEK);
// pour transformer jour 1 possible en "1er" (donc de int à String) ...
// ... il faut d'abord convertir int jour en String Sjour
String Sjour = Integer.toString(jour);
if (Sjour.equals("1")) Sjour = "1er";
String lib1 = " sera agée de ";
String lib2 = " le ";
// l'âge en années
int age = aujourdhui.get(Calendar.YEAR) - datedenaissance.get(Calendar.YEAR);
datedenaissance.add(Calendar.YEAR,age);
if ( (jour jour_dn) && (num_mois num_mois_dn) )
{
lib1 = " est agée de ";
lib2 = " AUJOURD'HUI ";
}
else
if ( (jour > jour_dn) || (num_mois > num_mois_dn) ) age++;
// année aniversaire = année de naissance + age
int annee_ani = annee_dn + age;
ligne0 = " EXEMPLE " + ex + "\n";
ligne1 = "\n Nous sommes le " + tabjours[num_jour - 1] + " " + Sjour + " "
+ tabmois[num_mois] + " " + annee + "\n\n";
ligne2 = " Une personne née le " + tabjours[num_jour_dn - 1] + " " + Sjour_dn + " "
+ tabmois[num_mois_dn] + " " + annee_dn + "\n" + lib1 + age + " an" + (age>1?"s":"") + lib2
+ Sjour_dn + " "
+ tabmois[num_mois_dn] + " " + annee_ani + "." + "\n"; ligne3 "------------------------------------------------------" + "\n"; String info
"CODE DE L'EXEMPLE ( DETERMINER L'ÂGE D'UNE PERSONNE )\n\n"
+ "Le résultat sera affiché à la console sous la forme :\n"
+ "" + ligne0 + ligne1 + ligne2 + ligne3;
if (avec_sans_info == 1) javax.swing.JOptionPane.showMessageDialog(null,info);
ligne_avec_accents = " " + ligne0 + ligne1 + "\n" + ligne2 + ligne3;
accents();
return "";
}
public static String accents()
{
try
{
// sortie à la console DOS avec les caractères accentués
Writer w =
new BufferedWriter
(new OutputStreamWriter(System.out, "Cp850"));
w.write(ligne_avec_accents);
w.flush();
// w.close();
}
catch (Exception e)
{
e.printStackTrace();
}
return "";
}
public static void main (String[] args)
{
ex12();
System.exit(0);
}
}
...\ Dan /...