Bonjour,
Je rencontre un problème pour faire remonter ma variable jusqu'au main.
Mon problème se situe dans le fichier Menu.java dans la méthode public int choixPerso()
Pour que cela soit plus compréhensible voici un code :
Fichier App.java qui contient le main.
Le fichier Menu.java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package test; public class App { public static void main( String[] args ) { Menu menu = new Menu(); Game game = new Game(); int nMenuVal = 0; boolean nLoop = true; while(nLoop) { switch(nMenuVal) { case 0: nMenuVal = menu.welcome(); //Permet de choisir de créer : son perso, jouer ou de quitter. break; case 1: nMenuVal = menu.choixPerso(); //Permet de donner un nom à son perso. break; case 2: game.game(); //De jouer. nMenuVal = 0; break; case 3: default: nLoop = false; } } } }
Le fichier Perso.java :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 package test; import java.util.Scanner; public class Menu{ private String sChoice;//Récupération de la chaine de caractère entré par l'utilisateur. private int nChoice; //Choix de l'utilisateur après conversion de String en int. private boolean bLoop; Scanner scan = new Scanner(System.in); public Menu(){ sChoice = ""; nChoice = -1; bLoop = true; } //Récupère le nom rentré par l'utilisateur. public String nameGamer(){ sChoice = scan.nextLine(); return sChoice; } //Accueil demandant de donner un nom à son perso. public int choixPerso(){ String sNameGamer; System.out.println(" Donne un nom a ton personnage : "); sNameGamer = nameGamer();//MON PROBLEME SE SITUE ICI :comment faire pour renvoyer sNameGamer dans le main ? System.out.println("Nom du perso " + sNameGamer + ".\n"); return 0; } //Le menu. public int welcome(){ System.out.println("/******** Bienvenue dans WARRIOR GAMER ********/"); do{ System.out.println(" - 1 - Creer son personnage."); System.out.println(" - 2 - Game."); System.out.println(" - 3 - Quitter."); sChoice = scan.nextLine(); if(Exceptions.isInteger(sChoice)){ nChoice = Integer.parseInt(sChoice); bLoop = Tools.isChoiceValidInt(nChoice, 1, 3); } else bLoop = true; }while(bLoop); return nChoice; } }
Pendant que j'y suis : si dans une class je dois utiliser dans plusieurs méthode l'objet Scanner est-ce que je peut instancier la class Scanner comme un attribut comme j'ai fait dans le Menu.java ou bien dois-je l'instancier dans chaque méthode ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 package test; public class Perso{ private String sName; public void setName(String s_Name){ sName = s_Name; } public String toString(){ return "Mon nom est : " + sName + "."; } }
Partager