Probleme dans java
Sleem_
Messages postés
54
Date d'inscription
Statut
Membre
Dernière intervention
-
Aminjer Messages postés 47 Date d'inscription Statut Membre Dernière intervention -
Aminjer Messages postés 47 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
bonsoir;
Je viens de faire le code d'un programme java qui à pour objectif de modéliser un objet Personne caractérisé par son: nom, prénom, sexe, date de naissance et adresse.
on me demande de faire une classe date qui permet de construire une date et de l'afficher sous la forme jj/mm/aaaa.
J'ai réalisé cette classe date, comme suit:
public class Date{
int j,m,a;
public Date(int j,int m, int a){ //constructeur de la classe date
this.j=j;
this.m=m;
this.a=a;
}
//debut de la methode affichage date
void affichage (){
if ((j>9) && (m>9)){
System.out.println(j+"/"+m+"/"+a);
}
else
if ((j<=9)&&(m<=9)){
System.out.println("0"+j+"/"+"0"+m+"/"+a);
}
else
if (m<=9){
System.out.println(j+"/"+"0"+m+"/"+a);
}else{
System.out.println("0"+j+"/"+m+"/"+a);
}
}
//fin de la methode affichage date
}
Et j'ai aussi réalisé la classe personne, comme suit:
public class Personne{
String nom,prenom,sexe,adresse;
Date d;
//constructeur de classe personne
public Personne(String nom,String prenom,String sexe,String adresse, int j,int m,int a){
this.nom=nom;
this.prenom=prenom;
this.sexe=sexe;
this.adresse=adresse;
this.d.j=j;
this.d.m=m;
this.d.a=a;
}
//fin modelisation du constructeur
void infopersonne(){
System.out.println(nom);
System.out.println(prenom);
System.out.println(sexe);
System.out.println(adresse);
d.affichage();
}
}
Et j'ai réalisé une classe de test:
public class Test{
public static void main (String [] args){
Personne a1=new Personne("Jackson","Micheal","masculin","Canada",23,08,1988);
a1.infopersonne();
}
}
Mais ça ne fonctionne pas, avec un message d'erreur:
integer number too large: 08
merci de bien me rectifier les erreurs que j'ai commis.
Cordialement .
bonsoir;
Je viens de faire le code d'un programme java qui à pour objectif de modéliser un objet Personne caractérisé par son: nom, prénom, sexe, date de naissance et adresse.
on me demande de faire une classe date qui permet de construire une date et de l'afficher sous la forme jj/mm/aaaa.
J'ai réalisé cette classe date, comme suit:
public class Date{
int j,m,a;
public Date(int j,int m, int a){ //constructeur de la classe date
this.j=j;
this.m=m;
this.a=a;
}
//debut de la methode affichage date
void affichage (){
if ((j>9) && (m>9)){
System.out.println(j+"/"+m+"/"+a);
}
else
if ((j<=9)&&(m<=9)){
System.out.println("0"+j+"/"+"0"+m+"/"+a);
}
else
if (m<=9){
System.out.println(j+"/"+"0"+m+"/"+a);
}else{
System.out.println("0"+j+"/"+m+"/"+a);
}
}
//fin de la methode affichage date
}
Et j'ai aussi réalisé la classe personne, comme suit:
public class Personne{
String nom,prenom,sexe,adresse;
Date d;
//constructeur de classe personne
public Personne(String nom,String prenom,String sexe,String adresse, int j,int m,int a){
this.nom=nom;
this.prenom=prenom;
this.sexe=sexe;
this.adresse=adresse;
this.d.j=j;
this.d.m=m;
this.d.a=a;
}
//fin modelisation du constructeur
void infopersonne(){
System.out.println(nom);
System.out.println(prenom);
System.out.println(sexe);
System.out.println(adresse);
d.affichage();
}
}
Et j'ai réalisé une classe de test:
public class Test{
public static void main (String [] args){
Personne a1=new Personne("Jackson","Micheal","masculin","Canada",23,08,1988);
a1.infopersonne();
}
}
Mais ça ne fonctionne pas, avec un message d'erreur:
integer number too large: 08
merci de bien me rectifier les erreurs que j'ai commis.
Cordialement .
A voir également:
- Probleme dans 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
15 réponses
Salut,
essaye cela:
le prb vient du 08..il suffit de mettre 8
@+
essaye cela:
class _Date{ int j,m,a; public _Date(int j,int m, int a){ //constructeur de la classe date this.j=j; this.m=m; this.a=a; } //debut de la methode affichage date void affichage (){ if ((j>9) && (m>9)){ System.out.println(j+"/"+m+"/"+a); } else if ((j<=9)&&(m<=9)){ System.out.println("0"+j+"/"+"0"+m+"/"+a); } else if (m<=9){ System.out.println(j+"/"+"0"+m+"/"+a); }else{ System.out.println("0"+j+"/"+m+"/"+a); } } //fin de la methode affichage date } class Personne{ String nom,prenom,sexe,adresse; _Date d; //constructeur de classe personne public Personne(String nom,String prenom,String sexe,String adresse, _Date d){ this.nom=nom; this.prenom=prenom; this.sexe=sexe; this.adresse=adresse; this.d=d; } //fin modelisation du constructeur void infopersonne(){ System.out.println(nom); System.out.println(prenom); System.out.println(sexe); System.out.println(adresse); d.affichage(); } } public class Main{ public static void main (String [] args){ Personne a1=new Personne("Jackson","Micheal","masculin","Canada",new _Date(23,8,1988)); a1.infopersonne(); } }
le prb vient du 08..il suffit de mettre 8
@+
Tu n'as pas instancié ton objet Date avant de l'initialiser :
public Personne(String nom,String prenom,String sexe,String adresse, int j,int m,int a)
{
this.nom=nom;
this.prenom=prenom;
this.sexe=sexe;
this.adresse=adresse;
d = new Date();
this.d.j=j;
this.d.m=m;
this.d.a=a;
}
public Personne(String nom,String prenom,String sexe,String adresse, int j,int m,int a)
{
this.nom=nom;
this.prenom=prenom;
this.sexe=sexe;
this.adresse=adresse;
d = new Date();
this.d.j=j;
this.d.m=m;
this.d.a=a;
}
la même erreur, lors que je compile la classe test:
integer number too large: 08
j'ai vraiment besoin de votre aide.
integer number too large: 08
j'ai vraiment besoin de votre aide.
Fais le test suivant : limite ta méthode affichage() à cela :
//debut de la methode affichage date
void affichage()
{
System.out.println("0"+j+"/"+"0"+m+"/"+a);
}
!ah je viens de voir que tu as mis un espace entre affichage et (). Il faut que tu l'enlèves.
A tout à l'heure.
//debut de la methode affichage date
void affichage()
{
System.out.println("0"+j+"/"+"0"+m+"/"+a);
}
!ah je viens de voir que tu as mis un espace entre affichage et (). Il faut que tu l'enlèves.
A tout à l'heure.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
je pense que le problème se situe dans le constructeur de la classe Personne, au niveau de l'intégration de l'objet Date d.
Eh bien enleve l'attribut Date et toutes les références sur cette classe.
Et regarde ce que cela donne. Si ça s'execute alors tu as raison ;-)
Et regarde ce que cela donne. Si ça s'execute alors tu as raison ;-)
Fichtre !
Bravo Chuka ! J'aurai cru que Java aurait interprêté le 08 automatiquement comme un 8 car le 0 n'est pas significatif !
Bravo Chuka ! J'aurai cru que Java aurait interprêté le 08 automatiquement comme un 8 car le 0 n'est pas significatif !
Aucun si ce n'est d'éviter que ta classe perso ait le même nom que la classe déjà implémentée dans java.
Que Chuka ait renommé ta classe Date en _Date ou en MaDate, cela revenait au même.
Que Chuka ait renommé ta classe Date en _Date ou en MaDate, cela revenait au même.
Fichtre !
J'aurai cru que Java aurait interprêté le 08 automatiquement comme un 8 car le 0 n'est pas significatif !
Ben moi aussi.....C'est pour cela que je suis parti dans un délire _Date...me suis dis peut-être qu'il y a une class Date qui existe déjà et qui fait chier.....
Comme quoi des fois on se prend la tete pour pas grand chose!!;)
@+
J'aurai cru que Java aurait interprêté le 08 automatiquement comme un 8 car le 0 n'est pas significatif !
Ben moi aussi.....C'est pour cela que je suis parti dans un délire _Date...me suis dis peut-être qu'il y a une class Date qui existe déjà et qui fait chier.....
Comme quoi des fois on se prend la tete pour pas grand chose!!;)
@+
Bonjour,
Oui vraiment il y on a plusieurs classes qui facilite la tache j'ai un exemple qui affiche trois formats
différentes de la date :
import java.util.*;
import java.text.*;
public class TestDate {
static DateFormat df= DateFormat.getDateInstance(DateFormat.MEDIUM,Locale.ENGLISH);
static DateFormat dg= DateFormat.getDateInstance(DateFormat.FULL,Locale.FRANCE);
static SimpleDateFormat sdt=new SimpleDateFormat("dd/MM/yyyy");
public static void main (String[]args) throws ParseException{
Scanner s=new Scanner(System.in);
Date d =sdt.parse("19/01/1987");
System.out.println(df.format(d));
System.out.println(dg.format(new Date()));
System.out.println(sdt.format(new Date()));
Date d1=sdt.parse(s.next());
System.out.println(df.format(d1));
}
}
******la resultat **********
Jan 19, 1987 *
mardi 29 décembre 2009 *
29/12/2009 *
************************
Alors tu vas utilise la troisième forme qui répond a votre question.
Bonne journée.
@+
Oui vraiment il y on a plusieurs classes qui facilite la tache j'ai un exemple qui affiche trois formats
différentes de la date :
import java.util.*;
import java.text.*;
public class TestDate {
static DateFormat df= DateFormat.getDateInstance(DateFormat.MEDIUM,Locale.ENGLISH);
static DateFormat dg= DateFormat.getDateInstance(DateFormat.FULL,Locale.FRANCE);
static SimpleDateFormat sdt=new SimpleDateFormat("dd/MM/yyyy");
public static void main (String[]args) throws ParseException{
Scanner s=new Scanner(System.in);
Date d =sdt.parse("19/01/1987");
System.out.println(df.format(d));
System.out.println(dg.format(new Date()));
System.out.println(sdt.format(new Date()));
Date d1=sdt.parse(s.next());
System.out.println(df.format(d1));
}
}
******la resultat **********
Jan 19, 1987 *
mardi 29 décembre 2009 *
29/12/2009 *
************************
Alors tu vas utilise la troisième forme qui répond a votre question.
Bonne journée.
@+
ça marche pas avec cette classe: il y a une erreur lors de la compilation.L'erreur est:
illegal character: \173
merci de bien vouloir m'aider à résoudre ce problème.
Cordialement.
illegal character: \173
merci de bien vouloir m'aider à résoudre ce problème.
Cordialement.
Bonsoir,
Pour moi le code ca marche c vraiment bizarre .
Cette classe je l'utilise pour avoir une date complet avec l'heure (en français):
ca marche pour moi 100%.
/////////////////////////////////////
import java.text.*;
import java.util.*;
public class DateFR {
public static String getFrenchDate()
{
DateFormat dg= DateFormat.getDateInstance(DateFormat.FULL,Locale.FRANCE);
Date d = new Date(System.currentTimeMillis());
return dg.format(new Date())+" "+d.getHours()+"h"+d.getMinutes()+"mn"+d.getSeconds()+"s";
}
public static void main (String[]args)throws ParseException{
System.out.println(getFrenchDate());
//System.out.println(dg.format(new Date()));
}
}
/////////////////////////////////////////////
@+;
Pour moi le code ca marche c vraiment bizarre .
Cette classe je l'utilise pour avoir une date complet avec l'heure (en français):
ca marche pour moi 100%.
/////////////////////////////////////
import java.text.*;
import java.util.*;
public class DateFR {
public static String getFrenchDate()
{
DateFormat dg= DateFormat.getDateInstance(DateFormat.FULL,Locale.FRANCE);
Date d = new Date(System.currentTimeMillis());
return dg.format(new Date())+" "+d.getHours()+"h"+d.getMinutes()+"mn"+d.getSeconds()+"s";
}
public static void main (String[]args)throws ParseException{
System.out.println(getFrenchDate());
//System.out.println(dg.format(new Date()));
}
}
/////////////////////////////////////////////
@+;