Java - les variables

Résolu/Fermé
linuxakros Messages postés 114 Date d'inscription mercredi 9 avril 2008 Statut Membre Dernière intervention 15 octobre 2008 - 14 avril 2008 à 22:15
linuxakros Messages postés 114 Date d'inscription mercredi 9 avril 2008 Statut Membre Dernière intervention 15 octobre 2008 - 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
A voir également:

4 réponses

Posotaz Messages postés 489 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 19 juin 2011 225
14 avril 2008 à 23:34
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
Blue project
15 avril 2008 à 00:47
<code>
public String affichage(){
return new SimpleDateFormat("HH:mm:ss").toString();
}

public void printError(String s){
text_canvas.append( affichage() + ERROR.format(o));
}
1
linuxakros Messages postés 114 Date d'inscription mercredi 9 avril 2008 Statut Membre Dernière intervention 15 octobre 2008 19
15 avril 2008 à 06:59
Je vous remercie Posotaz et Blue project, je testes cela ce soir.
0
linuxakros Messages postés 114 Date d'inscription mercredi 9 avril 2008 Statut Membre Dernière intervention 15 octobre 2008 19
15 avril 2008 à 18:28
Bonsoir,

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

Patrick
0