Java - les variables [Résolu/Fermé]

Signaler
Messages postés
116
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
15 octobre 2008
-
Messages postés
116
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
15 octobre 2008
-
Bonjour à tous,
J'ai besoin de votre aide pour résoudre un problème.
J'ai fait ceci:

public void affichage(String horaire)
{
horaire = "10:12:12";
}

et par exemple j'ai cela:

public void printError(String s)
{
Object [] o = { s };
//text_canvas.append(ERROR.format(o));
text_canvas.append(horaire + ERROR.format(o));
postTextEvent();
}

Evidemment, ça ne fonctionne pas. Je voudrais donc savoir comment passer la variable "horaire" dans la fonction printError (et d'autres aussi, enfin quand ça fonctionne pour un).

Merci de votre aide.

Bonne journée (ou soirée).
Patrick

4 réponses

Messages postés
500
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
190
Hello,

Java est un langage exclusivement orienté objet. Dans ton cas je suppose que les méthodes (on parle bien de méthodes et non de fonctions) printError et affichage font partie de la même classe, disons "Patrick".

Dans un lanage Orienté Objet, pour que deux méthodes aient accès au même emplacement mémoire, on le déclare en tant que propriété de classe. C'est à dire :

public class Patrick extends Object {
  
  private String horaire; // ceci est une propriété de la classe Patrick

  public void affichage(String horaire)
  {
  horaire = "10:12:12"; // faire ceci n'a aucun sens. Si tu passes l'horaire en argument c'est pour utiliser sa valeur, pas pour l'écraser. Mais si tu l'as fait à des fins de compréhension ça peut passer. A ce stade tu devrais affecter la variable "horaire" à la propriété, comme ceci :

  this.horaire = horaire;
  } 

// Ayant affecté la variable horaire à la propriété du même nom, la classe printError y aura maintenant accès avec la bonne valeur.

Bien à toi.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 85432 internautes nous ont dit merci ce mois-ci


<code>
public String affichage(){
return new SimpleDateFormat("HH:mm:ss").toString();
}

public void printError(String s){
text_canvas.append( affichage() + ERROR.format(o));
}
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 85432 internautes nous ont dit merci ce mois-ci

Messages postés
116
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
15 octobre 2008
18
Je vous remercie Posotaz et Blue project, je testes cela ce soir.
Messages postés
116
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
15 octobre 2008
18
Bonsoir,

ça fonctionne parfaitement avec la fonction que j'avais fait, merci beaucoup.

Patrick