如何返回到Java中的第一个菜单切换案例?

如何返回到Java中的第一个菜单切换案例?,java,Java,这是我的密码。我被开关箱的事缠住了。我试图完成我的Java接口(控制台)作业。这个想法是建立一个登录系统 我想知道当用户单击注销/注销时,如何返回到第一个登录菜单(主菜单) interface Login{ public void validasi(); public void cekData(); } class DataLogin implements Login{ private String namaUser1="mhs"; private String

这是我的密码。我被开关箱的事缠住了。我试图完成我的Java接口(控制台)作业。这个想法是建立一个登录系统

我想知道当用户单击注销/注销时,如何返回到第一个登录菜单(主菜单)

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");}
        }
    }
}

当用户注销时,您可以用另一种方法移动主菜单并再次调用它。

我没有尝试过,但这应该可以:-

1) 将main()方法的内容包装到循环中

2) 在cekData()中,如果用户选择注销,而不是选择System.exit(),则执行返回


在执行上述操作后,如果用户选择注销,线程将返回main()方法,该方法将循环并再次显示自身。

有任何答案有用吗?