RegisterAndLogin.java:
package bao1;
import java.util.Scanner;
import java.util.regex.Pattern;
import bao1.Login;
public class RegisterAndLogin {
static Scanner sc= new Scanner(System.in); //个人信息
static String name;
static int age;
static String sex;
static String pass;
static String id;
static long cardId;
//控制台 主体逻辑
public static void main(String[] args) throws InterruptedException {
Control();
}
public static void Control() throws InterruptedException{
menu();
System.out.println("请选择功能");
int oper = sc.nextInt();
switch(oper){
case 1:
register();
break;
case 2:
//登录
login();
break;
case 3:
System.exit(0);
//退出
break;
default:
System.out.println("功能键选择错误,请重新输入:");
Control();
}
}
public static void menu(){
System.out.println("1.注册");
System.out.println("2.登录");
System.out.println("3.退出");
}
public static void register() throws InterruptedException{
String pass_next;
System.out.println("请输入姓名:");
name = sc.next();
Pattern pattern_name = Pattern.compile("[0-9]*");
while(pattern_name.matcher(name).matches()){
System.out.println("请确认姓名格式正确");
name = sc.next();
}
System.out.println("请输入年龄:");
age = sc.nextInt();
while(age < 18 || age >60){
System.out.println("年龄不满足,重新输入");
age = sc.nextInt();
}
System.out.println("请输入性别(男或女):");
sex = sc.next();
while(!(sex.equals("男")) & !(sex.equals("女"))){
System.out.println("请重新输入性别(男或女):");
sex = sc.next();
}
System.out.println("请输入密码:");
pass = sc.next();
Pattern pattern_pass = Pattern.compile("[0-9]*");
while(!(pattern_pass.matcher(pass).matches()) || pass.length()!=6){
System.out.println("请确认密格式正确!(六位数字)");
pass = sc.next();
}
System.out.println("请确认密码:");
pass_next = sc.next();
while(!(pass_next.equals(pass))){
System.out.println("请重新确认密码");
pass_next = sc.next();
}
System.out.println("请输入身份证号:");
id = sc.next();
while(id.length()!=18){//判断不准确
System.out.println("请重新输入身份证号");
id = sc.next();
}
cardId = (long)((Math.random()*9+1)*100000);
System.out.println("注册成功,您的卡号为:"+ cardId);
login();
}
public static void login() throws InterruptedException{
System.out.println("请输入卡号");
long cardId1 = sc.nextLong();
while( cardId1 != cardId){
System.out.println("请重新输入卡号");
cardId1 = sc.nextLong();
}
System.out.println("请输入密码");
String pa = sc.next();
while(!(pa.equals(pass))){
System.out.println("请重新输入密码");
pa = sc.next();
}
System.out.println("登录成功!");
Login.loginView();
}
public static String getName() {
return name;
}
public static void setName(String name) {
RegisterAndLogin.name = name;
}
public static int getAge() {
return age;
}
public static void setAge(int age) {
RegisterAndLogin.age = age;
}
public static String getSex() {
return sex;
}
public static void setSex(String sex) {
RegisterAndLogin.sex = sex;
}
public static String getPass() {
return pass;
}
public static void setPass(String pass) {
RegisterAndLogin.pass = pass;
}
public static String getId() {
return id;
}
public static void setId(String id) {
RegisterAndLogin.id = id;
}
public static long getCardId() {
return cardId;
}
public static void setCardId(long cardId) {
RegisterAndLogin.cardId = cardId;
}
}
Login.java:
package bao1;
import java.util.Scanner;
import java.util.regex.Pattern;
import bao1.RegisterAndLogin;
public class Login {
static Scanner sc= new Scanner(System.in); //个人信息
static long saveMoney;
static long getMoney;
static double moneyInBank = 500;
public static void main(String[] args) {
}
public static void loginView() throws InterruptedException{
System.out.println("1.存款");
System.out.println("2.取款");
System.out.println("3.修改密码");
System.out.println("4.返回上一级");
System.out.println("5.退出");
System.out.println("6.显示余额");
System.out.println("请输入功能编号");
int open = sc.nextInt();
switch(open){
case 1:
saveMoney();
break;
case 2:
getMoney();
break;
case 3:
modify();
break;
case 4:
backLogin();
break;
case 5:
quit();
break;
case 6:
bankMoney();
break;
default:
System.out.println("请重新输入功能编号");
loginView();
}
}
public static void quit() throws InterruptedException{
System.out.println("退出!");
System.exit(0);
}
public static void modify() throws InterruptedException{
System.out.println("请输入旧密码:");
String old = sc.next();
while(!(old.equals(RegisterAndLogin.getPass()))){
System.out.println("密码输入错误,请重新输入:");
old = sc.next();
}
System.out.println("请输入新密码:");
String newpass = sc.next();
Pattern pattern_pass = Pattern.compile("[0-9]*");
while(!(pattern_pass.matcher(newpass).matches()) || newpass.length()!=6){
System.out.println("请确认密格式正确!(六位数字)");
newpass = sc.next();
}
RegisterAndLogin.setPass(newpass);
RegisterAndLogin.login();
}
public static void backLogin() throws InterruptedException{
RegisterAndLogin.login();
}
public static void back() throws InterruptedException{
loginView();
}
public static void saveMoney() throws InterruptedException{
System.out.println("输入存储金额(只能存整百)");
saveMoney = sc.nextLong();
while(saveMoney % 100 != 0 || saveMoney < 0){
System.out.println("请重新输入存储金额(只能存整百)");
saveMoney = sc.nextLong();
}
moneyInBank+=saveMoney;
System.out.println("余额:" + moneyInBank);
Thread.sleep(1000);
System.out.println("跳转页面:");
System.out.println("1.退出");
System.out.println("2.返回上一级");
System.out.println("请输入功能编号");
int number = sc.nextInt();
while(true){
if(number == 1){
Login.quit();
break;
}
else if(number == 2){
Login.back();
break;
}
else{
System.out.println("请重新输入功能编号");
number = sc.nextInt();
}
}
}
public static void getMoney() throws InterruptedException{
System.out.println("您的余额:"+moneyInBank);
System.out.println("输入取款金额:");
getMoney = sc.nextLong();
while(getMoney > moneyInBank){
System.out.println("余额不足,请重新输入取款金额:");
getMoney = sc.nextLong();
}
moneyInBank-=getMoney;
System.out.println("您的余额为:" + moneyInBank);
System.out.println("跳转页面:");
System.out.println("1.退出");
System.out.println("2.返回上一级");
System.out.println("请输入功能编号");
int number = sc.nextInt();
while(true){
if(number == 1){
Login.quit();
break;
}
else if(number == 2){
Login.back();
break;
}
else{
System.out.println("请重新输入功能编号");
number = sc.nextInt();
}
}
}
public static void bankMoney() throws InterruptedException{
System.out.println("您的余额为:"+ moneyInBank);
System.out.println("跳转页面:");
System.out.println("1.退出");
System.out.println("2.返回上一级");
System.out.println("请输入功能编号");
int number = sc.nextInt();
while(true){
if(number == 1){
Login.quit();
break;
}
else if(number == 2){
Login.back();
break;
}
else{
System.out.println("请重新输入功能编号");
number = sc.nextInt();
}
}
}
}