По какой-то причине я теряю доступ к своим переменным внутри заявление переключателя,возвращает переменную к методу внутри коммутатора заявления
Я не разрешается использовать какие-либо глобальные переменные.
import java.util.Scanner;
public class Projet {
public static void main(String[] args) {
String clef="vide";
Scanner in = new Scanner(System.in);
showMenu(in);
in.close();
}
Основной метод поддерживается как можно более чистым ... вызова меню только один раз.
public static void showMenu(Scanner in){
System.out.printf("******************************************%n" +
"* Choisissez une des options suivantes : *%n" +
"* 1) Saisir la clef secrète *%n" +
"* 2) Afficher la clef secrète *%n" +
"*******************************************%n%n%n");
choice(in);
}
showMenu(in)
В зависимости от выбора, сделанного мы получили бы в конкретном случае.
public static int getNumber(Scanner in){
int choice = in.nextInt();
in.nextLine();
return choice;
}
getNumber(in)
возвращение нашего предыдущего входа, чтобы мы могли попасть в корпус. Двойная функция будет удалена в следующей версии.
public static void choice(Scanner in){
try {
switch(getNumber(in)){
Случай 1 -> Мы supose сохранить переменную, которая музыкальный ключ, возвращаемый saisirClef(in)
case 1:
String clef = saisirClef(in);
break;
Случай 2 -> Он должен храниться значение из корпуса 1?
case 2:
afficherClef();
break;
default:
System.out.println("Default");
break;
}
} catch (Exception e) {
System.out.println("Please enter a number");
//choice(in);
}
}
saisirClef(in)
способ вызванный в случае один.
public static String saisirClef(Scanner in){
System.out.println("Saisir la clef secrète :");
String a = in.nextLine();
System.out.println("Voici ce que vous avez tapper : "+a);
return a;
}
afficherClef
метод вызывается в случае 2
public static String afficherClef() {
return clef;
}
}
Каждый раз, когда showMenu(in)
мои переменные списываться. Я мог бы переносить переменную ключа из шкафа в ...
Не могли бы вы помочь мне выяснить, что я делаю неправильно здесь? Я использую операторы return, я просто не понимаю, почему они исчезают.
Я собираюсь повторно редактировать это не выходит, как ясно – hayonj
вы объявили флаг переменной несколько раз, так что вместо него, почему бы вам не объявить один флаг глобальную переменную, чтобы иметь доступ все over..it выглядит немного путают ... –
не разрешено использовать ЛЮБЫЕ глобальные переменные для этого упражнения – hayonj