Utiliser une variable d'une autre méthode sur Java

Résolu
Codeur amateur -  
 Codeur amateur -
Bonjour,

Voila depuis peut j'apprend à programmer, mais voila j'ai fait ceci,

J'ai ma méthode main qui contient une variables,

J'ai une seconde méthode, et dans celle ci, j'aimerais faire,
System.out.print(maVariable);

public class Test
{

@SuppressWarnings("unused")
public static void main(String[] args)
{
String variableText = ("Texte");
newVoidPrint();
}

static void newVoidPrint()
{
System.out.println(variableText);
}

}


mais il me dit qu'il y a une erreur sur le print de ma variable : (variableText cannot be resolved to a variable)
Voila voila,
Merci de votre aide :D.
A voir également:

1 réponse

NHenry Messages postés 15479 Statut Modérateur 366
 
Passes la variable en tant que paramètre, non ?
0
Codeur amateur
 
comment fait-on ?
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Par exemple :

public class Test
{
    public static void main(String[] args) 
    {
        String variableText = "Texte";
        newVoidPrint(variableText);
    }

    public static void newVoidPrint(String parametreText)
    {
        System.out.println(parametreText);
    }
}
0
Codeur amateur
 
Pas besoin d'écrire parametre en faite juste en ajoutant
public static void newVoidPrint(String parametreText)
au lieu de
public static void newVoidPrint()
ça marche, il faut donc que je fasse ceci pour chaque variables ?
(ajouter String NOMDELAVARIABLE dans la parenthèse)

Ou il y a un bout de code qui les ajoutes automatiquement ?
(comme le (String[] args) du main ) ?
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Il y a d'autres mécanismes qui existent, en passant par la création d'un objet, mais dans ton cas les méthode static (exemple précédent) devrait suffire.

Un exemple quand même :

public class Text {
    private final String text;

    public Text(String value) {
        text = value;
    }

    public void print() {
        System.out.println(text);
    }
}

public class Test {
    public static void main(String[] args) {
        Text text = new Text("Texte");
        text.print();
    }
}
0
Codeur amateur
 
J'ai pas comprit ton code, à quoi correspond ceci :
    private final String text;

public Text(String value) {
text = value;

Merci de ton aide :D
0