CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Débutant] Java, probléme avec les dates

booba_2012
booba_2012
Niveau 9
25 octobre 2012 à 15:27:15

Salut,

J'explique rapidement :)

J'ai une classe Pers et une classe Date.

Dans Pers. il y un champs -> annee de naissance et une methode GetAge.

Ma

booba_2012
booba_2012
Niveau 9
25 octobre 2012 à 15:31:36

fuck TAB, Je continue :hap:

Ma classe Date est compose de jj + mm + aa.

Mon probleme; dans ma methode GetAge je veux prendre les variable declare dans ma fonction public Pers().

Voici mon code pour mieu comprendre :

classe Pers :d)

public class Personne {

private String nom;
private String prenom;
private Date naissance;
private Date arrive;

public Personne(){

nom = JOptionPane.showInputDialog("Votre nom : ");
prenom = JOptionPane.showInputDialog("Votre prenom : ");
naissance = new Date();
arrive = new Date();
}

public int GetAge(Date d1){
int age = 2012 - d1.aa;

return(age);
}

Et ma classe Date :d)

public class Date {

private int jj;
private int mm;
private int aa;

public Date() {

String s = JOptionPane.showInputDialog("entrez la date 'xx/xx/xx' : ");
String[] tab = s.split("/");
jj = Integer.parseInt(tab[0]);
mm = Integer.parseInt(tab[1]);
aa = Integer.parseInt(tab[2]);

}

@Override
public String toString() {
return jj+"/"+mm+"/"+aa;
}
}

--------------------------------------------

C'est mon d1.aa qui marche pas :s

Je ne sais pas comment le prendre :(

Voilà Merci de m'aider :-)

tbop2
tbop2
Niveau 10
25 octobre 2012 à 15:34:55

J'ai personnellement rien compris malheureusement. Qu'est-ce qui ne fonctionne pas ? Ton attribut aa de Date ne devrait pas etre un attribut public mais etre un accesseur getYear (). En plus d'etre beaucoup plus comprehensible a lire c'est aussi beaucoup plus Javaiste, entendons la parfaitement POO.

booba_2012
booba_2012
Niveau 9
25 octobre 2012 à 15:39:33

Ce que je veux faire :

Quand je fais naissance = new Date(); /*Ceci me renvoie jj/mm/aa*/
Et ensuite quand j'appelle, GetAge().

Je veux simplement utilisé mon naissance.aa, pour faire AgePers = 2012 - (naissance.aa)

Je vois plus ou moins ce que tu veux dire pas GetYear, mais j'aurais le meme probleme. Càd comment passer le naissance.aa dans cette méthode ?

Voilà, merci encore de me répondre assez rapidement :-)

Nevdelothion
Nevdelothion
Niveau 4
25 octobre 2012 à 15:52:58

Ton param "aa" est en private dans ta classe Date donc tu n'as pas le droti d'y acceder directement en faisant d1.aa et c'est très bien comme ca.
Il faut que tu ajoute une method GetYear() dans ta classe Date qui te retourne aa.
Apres tu remplace ton d1.aa par d1.GetYear() et ça devrait faire ce que tu souhaites non?

booba_2012
booba_2012
Niveau 9
25 octobre 2012 à 15:55:58

Merci de ta réponse mais pourrais tu m'expliquer comment écrire la méthode GetYear ?

Comment lui passer le naissance.aa ?

Déso mais je débute et je ne vois vraiment pas comment faire :s

Merci.

booba_2012
booba_2012
Niveau 9
25 octobre 2012 à 15:56:53

Il faut que je mette GetYear() en public dans la class Date ?

booba_2012
booba_2012
Niveau 9
25 octobre 2012 à 16:03:11

Ok c'est bon j'ai trouvé comment faire :-)

Une autre question, si j'avais déclarer tout en public, j'aurais pu l'appelle directement pas naissance.aa ?

Merci.

tbop2
tbop2
Niveau 10
25 octobre 2012 à 17:16:19

Euh t'es sur que t'as pas un peu mega saute des etapes ou rien lu a ton court pour en etre a faire des classes sans meme savoir faire une simple methode accesseur ? La portee d'une variable ?
Quel cours utilises-tu ? Depuis quand programmes-tu au juste ?

"Une autre question, si j'avais déclarer tout en public, j'aurais pu l'appelle directement pas naissance.aa ? "

Oui mais c'est mal. Je n'ai pas vraiment compris de quoi etait compose ce fameux aa, j'imagine que c'est un int mais sans avoir la declaration + definition de l'objet Date c'est pareil on ne peut pas trop non plus etre devin et vraiment savoir comment celui fonctionne.

En tout cas je te conseillerais de bien relire les rudiments de la programmation avant d'aller plus loin, car tu es deja largue (amha).

Bonne continuation ! :ok:

tbop2
tbop2
Niveau 10
25 octobre 2012 à 17:26:46
  • cours
booba_2012
booba_2012
Niveau 9
25 octobre 2012 à 17:31:48

Alz mec je viens de tout comprendre :-) j'apprends très vite.

J'ai commencé les cours le 20 septembre mais je viens de m'y mettre hier :)

Là j'essaye de comprendre le truc avec les héritages (extends). Une question

Quand je fais Etu extends Pers

Mon etu herites de ces methode aussi ?

Par ex. j'ai un toString dans mon Pers mais aussi dans mon Etu. comment faire dans AppliEtu dans le sysout faire un toString du Pers mais aussi celui du Etu ?

Je sais pas si tu comprends mon problème ?

Merci :-)

blak_gigabowser
blak_gigabowser
Niveau 4
25 octobre 2012 à 17:56:53

Ca sent le TP java de l'EPHEC ça :hap:

blak_gigabowser
blak_gigabowser
Niveau 4
25 octobre 2012 à 17:58:22

super.toString() sinon

tbop2
tbop2
Niveau 10
25 octobre 2012 à 22:22:49

J'pense que c'est pas en mettant des abbréviations incompréhensibles à tous tes mots clés que ça va aider les gens à comprendre tes questions tu sais :wink:

C'est quoi Etu, AppliEtu ? Je n'ai pas le code sous les yeux comment tu veux que je comprenne l'exemple concret.

Dans tous les cas oui les méthodes sont héritées mais sache que l'héritage c'est un peu plus compliqué (et donc un peu plus puissant) qu'une simple "copie" de ta classe mère. :)

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment