我正在寻找一种能够在创建用户后返回菜单的方法。任何帮助,将不胜感激。我是编程新手,所以如果您需要其他信息,请告诉我。
public static void main(String[] args) {
System.out.println("MAIN MENU");
System.out.println(" ");
System.out.println("1) Creating a Login");
System.out.println("2) Login");
System.out.println("9) Quit");
System.out.println(" ");
System.out.println("Please enter your choice: ");
System.out.println(" ");
Scanner sc = new Scanner(System.in);
int menuOption = sc.nextInt();
while (menuOption != 9) {
if (menuOption == 1) {
System.out.println("Creating Username, please enter a string:");
String user = sc.nextLine();
user = sc.nextLine();
System.out.println("Creating Password, please enter a string:");
String pass = sc.nextLine();
System.out.println("user is" + user);
System.out.println("pass is" + pass);
if (menuOption == 2) {
System.out.println("Please enter your Username");
String inpUser = sc.nextLine();
System.out.println("Now please enter your Password");
String inpPass = sc.nextLine();
if (inpUser.equals(user) && inpPass.equals(pass)) {
System.out.print("Credentials Accepted");
} else {
System.out.print("Credentials Declined Please try again.");
}
}
if (menuOption == 9) {
break;
}
}
}
}
}
答案 0 :(得分:1)
如果需要重复某些代码块,请将其放在循环内。
答案 1 :(得分:0)
将菜单移动到while循环中,以便每次重新循环时都会打印它。
示例:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int menuOption = 0;
while (menuOption != 9) {
System.out.println("MAIN MENU");
System.out.println(" ");
System.out.println("1) Creating a Login");
System.out.println("2) Login");
System.out.println("9) Quit");
System.out.println(" ");
System.out.println("Please enter your choice: ");
System.out.println(" ");
menuOption = sc.nextInt();
switch(menuOption){
case 1: {
System.out.println("Creating Username, please enter a string:");
String user = sc.nextLine();
user = sc.nextLine();
System.out.println("Creating Password, please enter a string:");
String pass = sc.nextLine();
System.out.println("user is" + user);
System.out.println("pass is" + pass);
break;
}
case 2: {
System.out.println("Please enter your Username");
String inpUser = sc.nextLine();
System.out.println("Now please enter your Password");
String inpPass = sc.nextLine();
if (inpUser.equals(user) && inpPass.equals(pass)) {
System.out.print("Credentials Accepted");
} else {
System.out.print("Credentials Declined Please try again.");
}
break;
}
case 9: {
break;
}
}
}
}
答案 2 :(得分:0)
如何创建新功能:
private static int menu (final Scanner sc) {
System.out.println("MAIN MENU");
System.out.println(" ");
System.out.println("1) Creating a Login");
System.out.println("2) Login");
System.out.println("9) Quit");
System.out.println(" ");
System.out.println("Please enter your choice: ");
System.out.println(" ");
return sc.nextInt();
}
然后将您的main
函数实现更改为:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int menuOption = menu(sc);
while (menuOption != 9) {
if (menuOption == 1) {
System.out.println("Creating Username, please enter a string:");
String user = sc.nextLine();
user = sc.nextLine();
System.out.println("Creating Password, please enter a string:");
String pass = sc.nextLine();
System.out.println("user is" + user);
System.out.println("pass is" + pass);
menuOption = menu(sc); // everytime option 1 is selected, menu will be shown.
if (menuOption == 2) {
System.out.println("Please enter your Username");
String inpUser = sc.nextLine();
System.out.println("Now please enter your Password");
String inpPass = sc.nextLine();
if (inpUser.equals(user) && inpPass.equals(pass)) {
System.out.print("Credentials Accepted");
} else {
System.out.print("Credentials Declined Please try again.");
}
}
if (menuOption == 9) {
break;
}
}
}
}
}