package changeGoshoopingMenu;
import java.util.Scanner;
public class Menu {
/*登陆菜单*/
public void showLoginMenu(){
System.out.println("\n\t欢迎使用我行我素购物管理系统\t");
System.out.println("\t\t1.登 录 系 统\n");
System.out.println("\t\t2.退 出\n");
System.out.println("******************************");
System.out.println("请选择,输入数字:");
}
/*主菜单*/
public void showMainMenu(){
boolean con;
do{
con=false;
/*输入数字选择菜单*/
Scanner input=new Scanner(System.in);
int no=input.nextInt();
if(no==1){
showCustMenu();
}else if(no==2){
showLoginMenu();
}else if(no==0){
showLoginMenu();
}else{
System.out.println("输入错误,请重新输入数字:");
con=true;
}
}while(con);
}
/*真情回馈*/
public void showSendMenu(){
boolean con;
do {
con=false;
/*输入数字选择菜单*/
Scanner input =new Scanner(System.in);
int no=input.nextInt();
if(no==1){
System.out.println("执行幸运大放送");
}else if(no==2){
System.out.println("执行幸运抽奖");
}else if(no==3){
System.out.println("执行生日问候");
}else if(no==0){
showMainMenu(); //返回主菜单
}else{
System.out.println("输入错误,请重新输入数字:");
con=true;
}
}while(con);
}
/*客户信息管理*/
public void showCustMenu(){
boolean con;
do {
con=false;
/*输入数字选择菜单*/
Scanner input =new Scanner(System.in);
int no=input.nextInt();
if(no==1){
System.out.println("查询客户信息");
}else if(no==2){
System.out.println("添加客户信息");
}else if(no==3){
System.out.println("执行生日问候");
}else if(no==4){
System.out.println("显示所有客户信息");
}else if(no==0){
showMainMenu(); //返回主菜单
}else{
System.out.println("输入错误,请重新输入数字:");
con=true;
}
}while(con);
}
}
package changeGoshoopingMenu;
import java.util.*;
public class TestMenu{
public static void main(String[] args) {
boolean con=true;
do{/*显示主菜单*/
boolean con=true;
Menu menu=new Menu();
menu.showLoginMenu();
/*实现菜单*/
Scanner input=new Scanner(System.in);
int choice=input.nextInt();
switch(choice){
case 1:
menu.showMainMenu();
break;
case 2:
System.out.println("谢谢您的使用!");
con=false;
break;
}
}while(con);
}
}
变量con重复定义了,eclipse应该有提示的。
package changeGoshoopingMenu; import java.util.Scanner; public class TestMenu { public static void main(String[] args) { boolean con = true; do {/* 显示主菜单 */ //boolean 去掉这个
con = true; Menu menu = new Menu(); menu.showLoginMenu(); /* 实现菜单 */ Scanner input = new Scanner(System.in); int choice = input.nextInt(); switch (choice) { case 1: menu.showMainMenu(); break; case 2: System.out.println("谢谢您的使用!"); con = false; break; } } while (con); } }
谢谢,的确没有红叉了,可是为什么我在运行时候输入1,不调用第一段的代码呢?那又是为什么,能否给一个详细的答案,谢谢!我想完成的是这样的一段文字
登陆菜单
主菜单 退出
客户信息管理 真情回馈
【其中客户管理要有显示所有信息,添加客户信息,修改客户信息,查询客户信息,真情回馈有幸运抽奖,生日问候,幸运大放送】非常感谢你的帮忙
@追逐,小天:
已经调用到了第一段的代码,你在showMainMenu函数中没有输出,所以看不出来。做3次动作:输入1,回车,就会输出“查询客户信息”。
按照你的代码,执行完“查询客户信息”后,又回到了登录菜单,应该是还可以执行同级菜单更好吧,我帮你改了下。。。
另外,在eclipse里,可以通过 Ctrl+Shift+F格式化代码 (需要输入法切换成英文),可读性会好很多。
public class TestMenu { public static void main(String[] args) { Menu menu = new Menu(); menu.showLoginMenu(); } } import java.util.Scanner; public class Menu { /* 登陆菜单 */ public void showLoginMenu() { /* 显示主菜单 */ System.out.println("\n\t欢迎使用我行我素购物管理系统\t"); System.out.println("\t\t1.登 录 系 统\n"); System.out.println("\t\t2.退 出\n"); System.out.println("******************************"); System.out.println("请选择,输入数字:"); /* 实现菜单 */ boolean con = true; do { con = false; Scanner input = new Scanner(System.in); int choice = input.nextInt(); switch (choice) { case 1: showMainMenu(); con = false; break; case 2: System.out.println("谢谢您的使用!"); con = false; break; default: System.out.println("输入错误,请重新输入数字:"); con = true; break; } } while (con); } /* 主菜单 */ public void showMainMenu() { System.out.println("\t\t0.回到登录菜单\n"); System.out.println("\t\t1.客户信息管理\n"); System.out.println("\t\t2.真情回馈\n"); System.out.println("******************************"); System.out.println("请选择,输入数字:"); boolean con; do { con = false; /* 输入数字选择菜单 */ Scanner input = new Scanner(System.in); int no = input.nextInt(); if (no == 1) { showCustMenu(); } else if (no == 2) { showSendMenu(); } else if (no == 0) { showLoginMenu(); } else { System.out.println("输入错误,请重新输入数字:"); con = true; } } while (con); } /* 真情回馈 */ public void showSendMenu() { System.out.println("\t\t0.回到登录菜单\n"); System.out.println("\t\t1.执行幸运大放送\n"); System.out.println("\t\t2.执行幸运抽奖\n"); System.out.println("\t\t3.执行生日问候\n"); System.out.println("******************************"); System.out.println("请选择,输入数字:"); boolean con; do { con = false; /* 输入数字选择菜单 */ Scanner input = new Scanner(System.in); int no = input.nextInt(); if (no == 1) { System.out.println("执行幸运大放送"); con = true; } else if (no == 2) { System.out.println("执行幸运抽奖"); con = true; } else if (no == 3) { System.out.println("执行生日问候"); con = true; } else if (no == 0) { showMainMenu(); // 返回主菜单 } else { System.out.println("输入错误,请重新输入数字:"); con = true; } } while (con); } /* 客户信息管理 */ public void showCustMenu() { System.out.println("\t\t0.回到主菜单\n"); System.out.println("\t\t1.查询客户信息\n"); System.out.println("\t\t2.添加客户信息\n"); System.out.println("\t\t3.修改客户信息\n"); System.out.println("\t\t4.显示所有客户信息\n"); System.out.println("******************************"); System.out.println("请选择,输入数字:"); boolean con; do { con = false; /* 输入数字选择菜单 */ Scanner input = new Scanner(System.in); int no = input.nextInt(); if (no == 1) { System.out.println("查询客户信息"); con = true; } else if (no == 2) { System.out.println("添加客户信息"); con = true; } else if (no == 3) { System.out.println("执行生日问候"); con = true; } else if (no == 4) { System.out.println("显示所有客户信息"); con = true; } else if (no == 0) { showMainMenu(); // 返回主菜单 } else { System.out.println("输入错误,请重新输入数字:"); con = true; } } while (con); } }
@y谢谢,成功了,thankyou