Java - les variables

Résolu
linuxakros Messages postés 114 Date d'inscription   Statut Membre Dernière intervention   -  
linuxakros Messages postés 114 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   225
 
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
 
<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   Statut Membre Dernière intervention   19
 
Je vous remercie Posotaz et Blue project, je testes cela ce soir.
0
linuxakros Messages postés 114 Date d'inscription   Statut Membre Dernière intervention   19
 
Bonsoir,

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

Patrick
0