Faire une variable accessible par toutes les méthodes
Je suis un peu nouveau pour java, et j'ai récemment appris sur les méthodes(cool!). Je veux savoir si ses possible de déclarer une variable dans ma méthode main et l'utiliser dans mes autres méthodes.
Ce que je suis en train de faire est de créer une calculatrice en utilisant des méthodes(juste pour la pratique avec ce nouveau concept) mais je ne veux pas déclarer la variable à chaque fois, dans chaque méthode.
Ici est la structure du squelette du code:
class GS1{
public static void main (String[]args){
Scanner input = new Scanner(System.in);
System.out.println("Enter the math operation to be completed: ");
String opt = input.nextLine();
int x,y; //I tried declaring variables here
switch(opt){
case "addition" :
//addition method goes here
break;
case "subtraction":
//subtraction method goes here
break;
case "multiplication":
//multiplication method goes here
break;
case "division":
//division method goes here
break;
}
}
static void addition(){
System.out.println("Enter first value for addition");
x=input.nextint(); //i get error stating both "x" and "input" cannot be resolved as a variable
}
static void subtration(){
}
static void Multiplication(){
}
static void Division(){
}
}
- Vous devez passer les valeurs des paramètres pour les méthodes. Et puis, les méthodes de retourner le résultat.
- Une suggestion de quoi apprendre le suivant: essayez de créer une calculatrice en classe, parce que travailler avec des 'variables globales' est certainement pas une bonne pratique
Vous devez vous connecter pour publier un commentaire.
Vous devez placer la variable en dehors de toutes les méthodes, mais au sein de la classe, la création d'un accès global.
Déplacer la variable au niveau de la classe, faire un champ dans la classe.
Puisque vous êtes en train d'apprendre, il sera préférable de ne pas utiliser
static
les champs, ni les méthodes, sauf pour lesmain
méthode.Mieux organiser votre code, faire quelque chose comme le code suivant:
Vous besoin de quelque chose comme ceci:
N'oubliez pas d'utiliser "statique" modificateur dans votre champ de déclaration (x et d'entrée), vous ne pouvez pas faire une référence statique pour un non champ statique.
Une meilleure façon serait d'utiliser les objets au lieu de mettre toutes vos méthodes dans une classe unique (GS1). Par exemple, créer une Calculatrice en classe comme Marged suggèrent dans vos commentaires