首先,分为以下几类
先看包类层架构
效果如下:
接下来上代码
User.java
package day;
public class User {
private String cardNo;
//身份证号
private String identity;
//用户名
private String username;
//密码
private String password;
//手机号
private String phone;
//余额
private double balance;
public User(String cardNo, String identity, String username, String password, String phone, double balance) {
super();
this.setCardNo(cardNo);
this.setIdentity(identity);
this.setUsername(username);
this.setPassword(password);
this.setPhone(phone);
this.setBalance(balance);
}
public User() {
}
public String getCardNo() {
return cardNo;
}
public void setCardNo(String cardNo) {
this.cardNo = cardNo;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getIdentity() {
return identity;
}
public void setIdentity(String identity) {
this.identity = identity;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
}
Bank.java
package day;
import java.util.Scanner;
public class Bank {
// private 私有的
//属性 保存用户的数组---对多容纳5位用户
private User[] users = new User[5];
//保存个数
private int size;
//1.初始化用户
public void initial(){
//创建用户1
User user1 = new User();
user1.setCardNo("11111");
user1.setIdentity("11111");
user1.setUsername("张三");
user1.setPassword("11111");
user1.setPhone("110");
user1.setBalance(100);
//用户2
User user2 = new User("22222","22222","李四","22222","119",200);
//把用户放到数组里
users[0] = user1;
users[1] = user2;
size = 2;
System.out.println("用户初始化完成!");
}
//2.用户登录
public void login(){
//输入流
Scanner input = new Scanner(System.in);
System.out.println("请输入卡号");
String cardNo = input.next();
System.out.println("请输入密码");
String password = input.next();
//数组遍历
User u = null;
for(int i =0;i <size;i++){
if(users[i].getCardNo().equals(cardNo)&&users[i].getPassword().equals(password)){
u = users[i];
break;
}
}
if(u!=null){
//账号和密码成功----登录成功
System.out.println("登录成功");
showMenu(u);
}else{
System.out.println("卡号或密码错误");
}
}
//3.显示菜单
public void showMenu(User u){
Scanner input = new Scanner(System.in);
System.out.println("=============欢迎来到**银行系统=============");
do{
System.out.println("=======1.存款 2.取款 3.转账 4.余额查询 5.修改密码 0.退出=====");
int choice = input.nextInt();
switch(choice){
case 1:
//对应执行的代码
this.save(u);
break;
case 2:
this.withDraw(u);
break;
case 3:
this.trans(u);
break;
case 4:
this.query(u);
break;
case 5:
this.modifyPassword(u);
break;
case 0:
this.exit(u);
break;
default:
break;
}
}while(true);
}
//4.存款
public void save(User u){
Scanner input = new Scanner(System.in);
System.out.println("请输入存款金额");
double m =input.nextDouble();
if(m>0){
u.setBalance(u.getBalance()+m);
System.out.println("存款成功:余额"+u.getBalance());
}else{
System.out.println("存钱失败,请重新输入....");
}
}
//5.取钱
public void withDraw(User u){
Scanner input = new Scanner(System.in);
System.out.println("请输入取款金额");
double m =input.nextDouble();
if(m>0){
if(u.getBalance()>=m){
u.setBalance(u.getBalance()-m);
System.out.println("取钱成功:余额"+u.getBalance());
}else{
System.out.println("余额不足...");
}
}else{
System.out.println("取钱失败,请重新输入:");
}
}
//6.转账
public void trans(User u){
Scanner input = new Scanner(System.in);
System.out.println("请输入对方的卡号:");
String cardNo = input.next();
System.out.println("请输入转账金额:");
double m = input.nextDouble();
//判断对方卡号是否存在
User touser = null;
for(int i = 0;i<size;i++){
if(users[i].getCardNo().equals(cardNo)){
touser = users[i];
break;
}
}
//判断
if(touser!=null){//存在对方的卡号
//转账----扣钱
u.setBalance(u.getBalance()-m);
//加钱
touser.setBalance(touser.getBalance()+m);
System.out.println("转账成功......");
}else{
System.out.println("对方卡号不存在,请重新输入");
}
}
//7.余额查询
public void query(User u){
System.out.println("卡号:"+u.getCardNo()+"用户名"+u.getUsername()+"余额"+u.getBalance());
}
//8.修改密码
public void modifyPassword(User u){
Scanner input=new Scanner(System.in);
System.out.println("请输入您要修改的密码:");
u.setPassword(input.next());
System.out.println("修改成功,当前密码为:"+u.getPassword()+",为了安全,请妥善保管,谢谢");
System.out.println("提示:密码已被修改,请重新登陆!");
System.exit(0);
}
public void exit(User u)
{
System.out.println("谢谢您的使用!");
}
}
TestBank.java
package day;
public class TestBank {
public static void main(String[] args) {
Bank bank=new Bank();
bank.initial();
bank.login();
}
}
最终运行。