Pb en Java
Skunk
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour, j'ai une problème aavec mon programme Java et j'aurais besoin de votre aide.
Mon problème et dans la fonction public String toString() dans la partie du else du if je n'arrive pas a écrire une date du genre lundi 24 décembre 2004 dans ma chaine de caractère aff avec les données de private String chaineDuJour(int leJour) et private String chaineDuMois(int leMois)
Je vous met mon, programme ci dessous.
J'ai deja fais mon main ;)
package td2;
import java.util.Calendar;
public class Date {
private int jour;
private int jourSemaine;
private int mois;
private int annee;
private boolean affichageCourt = false;
private static final String sep = ":";
public void affichageCourt(boolean mode) {
}
public Date() {
this(Calendar.getInstance().get(Calendar.DAY_OF_MONTH),
Calendar.getInstance().get(Calendar.MONTH),
Calendar.getInstance().get(Calendar.YEAR));
}
public Date(int j, int m, int a) {
jour = j;
mois = m ;
annee = a;
normalise();
}
public void normalise() {
calendar2Date(date2Calendar());
}
private Calendar date2Calendar() {
Calendar c = Calendar.getInstance();
c.set(annee, mois, jour);
return c;
}
private void calendar2Date(Calendar c) {
jour = c.get(Calendar.DAY_OF_MONTH);
mois = c.get(Calendar.MONTH);
jourSemaine = c.get(Calendar.DAY_OF_WEEK);
annee = c.get(Calendar.YEAR);
}
public void anneeProchaine() {
annee += 1;
normalise();
}
public void moiProchain() {
mois += 1;
normalise();
}
public void jourProchain() {
jour += 1;
normalise();
}
public String toString() {
String aff = "";
if (affichageCourt = false) {
aff = jour + "/" + (mois + 1 ) + "/" + annee;
}
else {
aff =
}
return aff;
}
private String chaineDuJour(int leJour) {
String jourBis = "";
switch (jour) {
case 1:
jourBis = "Dimanche";
break;
case 2:
jourBis = "Lundi";
break;
case 3:
jourBis = "Mardi";
break;
case 4:
jourBis = "Mercredi";
break;
case 5:
jourBis = "Jeudi";
break;
case 6:
jourBis = "Vendredi";
break;
case 7:
jourBis = "Samedi";
break;
}
return jourBis;
}
private String chaineDuMois(int leMois) {
String MoisBis = "";
switch (jour) {
case 0:
MoisBis = "Janvier";
case 1:
MoisBis = "Fevrier";
break;
case 2:
MoisBis = "Mars";
break;
case 3:
MoisBis = "Avril";
break;
case 4:
MoisBis = "Mai";
break;
case 5:
MoisBis = "Juin";
break;
case 6:
MoisBis = "Juillet";
break;
case 7:
MoisBis = "Aout";
break;
case 8:
MoisBis = "Septembre";
break;
case 9:
MoisBis = "Octobre";
break;
case 10:
MoisBis = "Novembre";
break;
case 11:
MoisBis = "Decembre";
break;
}
return MoisBis;
}
}
Mon problème et dans la fonction public String toString() dans la partie du else du if je n'arrive pas a écrire une date du genre lundi 24 décembre 2004 dans ma chaine de caractère aff avec les données de private String chaineDuJour(int leJour) et private String chaineDuMois(int leMois)
Je vous met mon, programme ci dessous.
J'ai deja fais mon main ;)
package td2;
import java.util.Calendar;
public class Date {
private int jour;
private int jourSemaine;
private int mois;
private int annee;
private boolean affichageCourt = false;
private static final String sep = ":";
public void affichageCourt(boolean mode) {
}
public Date() {
this(Calendar.getInstance().get(Calendar.DAY_OF_MONTH),
Calendar.getInstance().get(Calendar.MONTH),
Calendar.getInstance().get(Calendar.YEAR));
}
public Date(int j, int m, int a) {
jour = j;
mois = m ;
annee = a;
normalise();
}
public void normalise() {
calendar2Date(date2Calendar());
}
private Calendar date2Calendar() {
Calendar c = Calendar.getInstance();
c.set(annee, mois, jour);
return c;
}
private void calendar2Date(Calendar c) {
jour = c.get(Calendar.DAY_OF_MONTH);
mois = c.get(Calendar.MONTH);
jourSemaine = c.get(Calendar.DAY_OF_WEEK);
annee = c.get(Calendar.YEAR);
}
public void anneeProchaine() {
annee += 1;
normalise();
}
public void moiProchain() {
mois += 1;
normalise();
}
public void jourProchain() {
jour += 1;
normalise();
}
public String toString() {
String aff = "";
if (affichageCourt = false) {
aff = jour + "/" + (mois + 1 ) + "/" + annee;
}
else {
aff =
}
return aff;
}
private String chaineDuJour(int leJour) {
String jourBis = "";
switch (jour) {
case 1:
jourBis = "Dimanche";
break;
case 2:
jourBis = "Lundi";
break;
case 3:
jourBis = "Mardi";
break;
case 4:
jourBis = "Mercredi";
break;
case 5:
jourBis = "Jeudi";
break;
case 6:
jourBis = "Vendredi";
break;
case 7:
jourBis = "Samedi";
break;
}
return jourBis;
}
private String chaineDuMois(int leMois) {
String MoisBis = "";
switch (jour) {
case 0:
MoisBis = "Janvier";
case 1:
MoisBis = "Fevrier";
break;
case 2:
MoisBis = "Mars";
break;
case 3:
MoisBis = "Avril";
break;
case 4:
MoisBis = "Mai";
break;
case 5:
MoisBis = "Juin";
break;
case 6:
MoisBis = "Juillet";
break;
case 7:
MoisBis = "Aout";
break;
case 8:
MoisBis = "Septembre";
break;
case 9:
MoisBis = "Octobre";
break;
case 10:
MoisBis = "Novembre";
break;
case 11:
MoisBis = "Decembre";
break;
}
return MoisBis;
}
}
A voir également:
- Pb en Java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
4 réponses
Pour ton :
private String chaineDuMois(int leMois) {
String MoisBis = "";
switch (jour) {
il faut changer ta donner du switch jour en mois et sinon moi j'ai essayer en enlevant les paramètre de tes classe string chaineDuJour et chaineDuMois et en mettant dans ton else : aff = chaineDuJour()+" "+ jour+" " + chaineDuMois()+" " + annee ;
private String chaineDuMois(int leMois) {
String MoisBis = "";
switch (jour) {
il faut changer ta donner du switch jour en mois et sinon moi j'ai essayer en enlevant les paramètre de tes classe string chaineDuJour et chaineDuMois et en mettant dans ton else : aff = chaineDuJour()+" "+ jour+" " + chaineDuMois()+" " + annee ;
Salut,
Voici un exemple pour afficher la date du jour sous la forme:
Nous sommes le <Jour_semaine> <jour_mois> <Mois> <annee>
Appel depuis le programme utilisateur:
Cordialement,
Dan
Voici un exemple pour afficher la date du jour sous la forme:
Nous sommes le <Jour_semaine> <jour_mois> <Mois> <annee>
public class AfficheDateDuJour { private int jour; private int jourSemaine; private int mois; private int annee; private String jourBis; private String MoisBis; public void afficherDateDuJour() { Calendar cal = Calendar.getInstance(); jour = cal.get(Calendar.DAY_OF_MONTH); mois = cal.get(Calendar.MONTH); jourSemaine = cal.get(Calendar.DAY_OF_WEEK); annee = cal.get(Calendar.YEAR); String jourS = Integer.toString(jour); if(jour == 1) jourS = "1er"; chaineDuJour(jourSemaine); // retourne jourBis (jour = 1 a 1 >> case 1 a 7 chaineDuMois(mois); // retourne MoisBis (mois = 0 a 11 >> case 0 a 11) String aff = "Nous sommes le " + jourBis + " " + jourS + " " + MoisBis + " " + annee; System.out.println("\n" + aff); } // Tes 2 méthodes: private String chaineDuJour(int jourSemaine) { jourBis = ""; switch (jourSemaine) { case 1: jourBis = "Dimanche"; break; case 2: jourBis = "Lundi"; break; case 3: jourBis = "Mardi"; break; case 4: jourBis = "Mercredi"; break; case 5: jourBis = "Jeudi"; break; case 6: jourBis = "Vendredi"; break; case 7: jourBis = "Samedi"; break; } return jourBis; } private String chaineDuMois(int leMois) { MoisBis = ""; //switch (jour) { switch (leMois) { case 0: MoisBis = "Janvier"; case 1: MoisBis = "Fevrier"; break; case 2: MoisBis = "Mars"; break; case 3: MoisBis = "Avril"; break; case 4: MoisBis = "Mai"; break; case 5: MoisBis = "Juin"; break; case 6: MoisBis = "Juillet"; break; case 7: MoisBis = "Aout"; break; case 8: MoisBis = "Septembre"; break; case 9: MoisBis = "Octobre"; break; case 10: MoisBis = "Novembre"; break; case 11: MoisBis = "Decembre"; break; } return MoisBis; } }
Appel depuis le programme utilisateur:
AfficheDateDuJour objAff = new AfficheDateDuJour(); objAff.afficherDateDuJour();
Cordialement,
Dan
Dan, je suis le copain de skunk, ton prog marche bien mais enfete, lui il voudrais qu'on modifi pas son programme et il faut juste remplir le aff dans public String toString() { sans rien toucher dans le reste de la classe et on sais pas comment faire apart avec la methode que j'ai écrite plus haut !
Sinon merci pour ta version =)
Sinon merci pour ta version =)
Re,
Cordialement,
Dan
public String toString() { // peut.être en passant (int jourSemaine, int jour, int mois, int annee) en paramètres. String aff = ""; if (affichageCourt = false) { aff = jour + "/" + (mois + 1 ) + "/" + annee; } else { chaineDuJour(jourSemaine); // retourne jourBis (jour = 1 a 7 >> case 1 a 7 chaineDuMois(mois); // retourne MoisBis (mois = 0 a 11 >> case 0 a 11) aff = "Nous sommes le " + jourBis + " " + jour + " " + MoisBis + " " + annee; System.out.println("\n" + aff); }
Cordialement,
Dan