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

linuxakros 116 Messages postés mercredi 9 avril 2008Date d'inscription 15 octobre 2008 Dernière intervention - 14 avril 2008 à 22:15 - Dernière réponse : linuxakros 116 Messages postés mercredi 9 avril 2008Date d'inscription 15 octobre 2008 Dernière intervention
- 15 avril 2008 à 18:28
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
Afficher la suite 
116Messages postés mercredi 9 avril 2008Date d'inscription 15 octobre 2008 Dernière intervention

4 réponses

Posotaz 500 Messages postés samedi 23 juin 2007Date d'inscription 19 juin 2011 Dernière intervention - 14 avril 2008 à 23:34
+1
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Blue project - 15 avril 2008 à 00:47
+1
Utile
<code>
public String affichage(){
return new SimpleDateFormat("HH:mm:ss").toString();
}

public void printError(String s){
text_canvas.append( affichage() + ERROR.format(o));
}
Cette réponse vous a-t-elle aidé ?  
linuxakros 116 Messages postés mercredi 9 avril 2008Date d'inscription 15 octobre 2008 Dernière intervention - 15 avril 2008 à 06:59
0
Utile
Je vous remercie Posotaz et Blue project, je testes cela ce soir.
linuxakros 116 Messages postés mercredi 9 avril 2008Date d'inscription 15 octobre 2008 Dernière intervention - 15 avril 2008 à 18:28
0
Utile
Bonsoir,

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

Patrick