T1、编程设计理工超市功能菜单并完成注册和登录功能的实现。
显示完菜单后,提示用户输入菜单项序号。当用户输入<注册>和<登录>菜单序号时模拟完成注册和登录功能,最后提示注册/登录成功并显示注册信息/欢迎XXX登录。当用户输入其他菜单项序号时,这输出“该功能暂未实现,请期待...”。要求利用无限循环让用户可以不断选择功能菜单,只有当用户输入<退出>菜单序号时才退出循环结束程序。
package com.cx.encap;
import java.util.Scanner;
public class Login {
public static void main(String[] args) {
//创建Scanner对象,用于输入
Scanner input = new Scanner(System.in);
String userName = "";//用户名
String pwd = "";//密码
boolean isRegister = false;//是否注册,false表示未注册
while (true) {
System.out.println("===================欢迎来到理工超市管理系统===================");
System.out.println("1.用户注册 2.用户登录 3.浏览商品 4.查看商品详情");
System.out.println("5.加入购物车 6.查看购物车 7.结算 8.退出");
System.out.println("==============================================================");
System.out.print("请输入菜单项序号:");
int choice = input.nextInt();
switch (choice) {
case 1: //注册
//用户注册提示信息
System.out.println("用户注册");
//输入用户名
System.out.print("请输入用户名:");
userName = input.next();
//输入密码
System.out.print("请输入密码:");
pwd = input.next();
//再次输入密码
System.out.print("请再次输入密码:");
String cfmPwd = input.next();
//判断两次输入的密码是否一致,如不一致需重新输入
while (!cfmPwd.equals(pwd)) {
//提示信息:两次输入的密码不一致
System.out.println("两次密码输入不同,请重新输入:");
//重新输入密码
System.out.print("请输入密码:");
pwd = input.next();
System.out.print("请再次输入密码:");
cfmPwd = input.next();
}
//checkNumber为验证码 一个随机四位数
//0=<Math.random()<1 double类型
//0=<Math.random()*9000<9000 double类型
//0=<(int)(Math.random()*9000)=<8999 int类型
//1000=<(int)(Math.random()*9000)+1000=<9999 int类型
int checkNumber = (int) (Math.random() * 9000) + 1000;
//提示信息:请输入验证码
System.out.println("请输入验证码:" + checkNumber);
//输入验证码
int checkedNum = input.nextInt();
//判断验证码是否正确
//若验证码错误,需重新输入验证码
while (checkNumber != checkedNum) {
//提示信息:验证码输入错误,请重新输入验证码
System.out.println("验证码输入错误,请重新输入验证码");
//提示信息:请输入验证码
checkNumber = (int) (Math.random() * 9000) + 1000;
System.out.println("请输入验证码:" + checkNumber);
//输入验证码
checkedNum = input.nextInt();
}
System.out.println("注册成功!");
isRegister = true;
continue;
case 2: //登录
System.out.println("用户登录");
//判断是否注册,如果未注册,请先注册再登录
//未注册时,isRegister=false
//!isRegister=true
if (!isRegister) {
System.out.println("请先注册再登录");
}
//isRegister=true时,表示已经注册
//三次验证登录
for (int i = 0; i < 3; i++) {
//提示信息:请输入登录的用户名
System.out.print("请输入登录的用户名:");
String uName = input.next();
//提示信息:请输入登录的密码
System.out.print("请输入登录的密码:");
String uPwd = input.next();
//判断用户名和密码是否正确
if (uName.equals(userName) && uPwd.equals(pwd)) {
System.out.println("登录成功!欢迎" + userName + "登录!");
break;//登录成功,则跳出for循环
} else {
if (i < 2) {
System.out.println("用户名或者密码错误,您还有" +
(2 - i) + "次机会,请重新输入");
} else {
System.out.println("三次均输入错误用户名或密码");
}
}
}
continue;
case 3:
case 4:
case 5:
case 6:
case 7:
System.out.println("该功能暂未实现,请期待...");
continue;
case 8: //退出
System.out.println("退出");
System.exit(0);//退出程序
default:
System.out.println("输入错误,请重新输入...");
continue;
}
}
}
}