2017-01-18 2 views
0

Это мой код. Я застрял с корпусом коммутатора. Я попытался закончить домашнюю работу с интерфейсом Java (консоль). Идея состоит в том, чтобы создать систему входа в систему.Как вернуться к первому случаю коммутатора меню в Java?

Я хочу знать, как вернуться в меню 1 LOGIN (Главное меню), когда пользователь нажимает LOGOUT/LOG OFF.

interface Login{ 
    public void validasi(); 
    public void cekData(); 
} 

class DataLogin implements Login{ 
    private String namaUser1="mhs"; 
    private String pass1="mahasiswa"; 
    private String namaUser2="mahasiswa"; 
    private String pass2="pratikum"; 

    public void setName(String name, String name2){ 
     this.namaUser1 = name; 
     this.namaUser2 = name2; 
    } 
    public String getName(){ 
     return namaUser1; 
    } 
    public String getName2(){ 
     return namaUser2; 
    } 
    public void setPsw(String pass, String pas2){ 
     this.pass1 = pass; 
     this.pass2 = pas2; 
    } 
    public String getPsw(){ 
     return pass1; 
    } 
    public String getPsw2(){ 
     return pass2; 
    } 

Это мой метод checkData.

public void cekData(){ 
     DataLogin u = new DataLogin(); 
     String Nama, Psw, log, mau; 

     Scanner input = new Scanner(System.in); 
     Scanner e = new Scanner(System.in); 
     System.out.print("Username : "); Nama=input.nextLine(); 
     System.out.print("Password : "); Psw=input.nextLine(); 
      if (Nama.equalsIgnoreCase(u.getName())&&Psw.equalsIgnoreCase(u.getPsw())){ 
       System.out.println("(Login Success!)"); 
       System.out.println("-----------------"); 
      do{ 
       System.out.println("Selamat Datang, "+Nama+"!!"); 
       System.out.println("MENU PILIHAN"); 
       System.out.println("A. TEST KENDARAAN"); 
       System.out.println("B. LOG OFF"); 
       System.out.println("-----------------"); 
       System.out.print("Masukkan Pilihan Anda : ");log=input.nextLine(); 
        switch(log){ 
         case "A": case "a": 
          //SOME CODES.. NOT IMPORTANT 
          break; 
         case "B": case "b": 
          System.exit(0); 
          break; 
         default: 
          System.out.println("ERROR, Pilihan Tidak Tersedia"); 
          break; 
        } 

        System.out.print("Mau Coba Lagi? [Y/T] = ");mau = e.next(); 
       }while(mau.equals("Y")||(mau.equals("y"))); 
      } 
      else{ 
       System.out.println("(Login Gagal!)"); 
       System.out.println("Periksa Kembali Username dan Password Anda"); 
       System.out.println("------------------------------------------"); 
      } 

    } 
} 

Это мое главное меню.

class TestLogin{ 
    public static void main(String[] args){ 
     DataLogin u = new DataLogin(); 

     Scanner pil = new Scanner(System.in); 
     String pilih; 

     System.out.println("MAIN MENU"); 
     System.out.println("----------"); 
     System.out.println("MENU PILIHAN"); 
     System.out.println("A. LOGIN"); 
     System.out.println("B. EXIT"); 
     System.out.println("----------"); 

     System.out.print("Masukkan Pilihan Anda : ");pilih=pil.nextLine(); 
     switch(pilih){ 
      case "A": 
      case "a": 
       u.cekData(); 
       break; 
      case "B": 
      case "b": 
       System.exit(0); 
       break; 
      default: 
      {System.out.print("ERROR");} 
     } 
    } 
} 
+0

Помог ли хоть один из ответов? –

ответ

0

Вы можете переместить свое главное меню отдельным методом и вызвать его снова, когда пользователь выйдет из системы.

0

Я не пробовал, но это должно работать: -

1) Оберните содержимое основного() метода в петлю.

2) В cekData(), если пользователь выберет Log Out вместо System.exit(), выполните возврат.

После выполнения вышеизложенного, если пользователь выбирает Log Out, поток вернется к методу main(), который будет циклически перемещаться и отображаться снова.

Смежные вопросы