未分类
2020-08-10 20:28:37
1822677238@qq.com
手机扫码查看
面向对象之银行ATM存取款机操作
下面是银行ATM存取款机操作
import java.util.Random;
import java.util.Scanner;
public class demos{
public static void main(String[] args) {
Bank bank=new Bank();
bank.Welcome();
}
}
class Bank{
String BankName;
String BankNo;
User[] users=new User[999];
int size=0;
static Scanner sc=new Scanner(System.in);
public Bank(){
users=new User[]{
new User("62221234",
"1","你好银行",
"admin",
"123456","6413","110","addr",
1000,1),
new User(
"622212345",
"1","你好银行",
"admin8888","123456",
"6413","110","addr",
1000,1)
};
}
public void Welcome(){
int n=0;
do{
System.out.println("========欢迎来到银行自助ATM机==========");
System.out.println("1.开户 2.登录 0.退出");
System.out.println("============================");
System.out.print("请输入编号:");
n=sc.nextInt();
switch (n){
case 1:
Reg();
break;
case 2:
Login();
break;
case 0:
return;
default:
System.out.println("输入有误,请重新输入");
break;
}
}while (n<0);
}
public void Reg(){
User user=new User();
String username,identity,mobile,address,password;
double balance=0;
do{
System.out.print("请输入大于5位数用户名:");
username=sc.next();
if(username.length()<5){
System.out.println("用户名长度不正确,请重新输入");
}else{
user.setUsername(username);
}
}while(username.length()<5);
do{
System.out.print("请输入6位数密码:");
password=sc.next();
if(password.length()<5){
System.out.println("密码长度不正确,请重新输入");
}else{
user.setPassword(password);
}
}while(password.length()<5);
do{
System.out.print("请输入身份证号:");
identity=sc.next();
if(identity.length()!=18){
System.out.println("身份证号长度不正确,请重新输入");
}else{
user.setIdentity(identity);
}
}while(identity.length()!=18);
do{
System.out.print("请输入手机号:");
mobile=sc.next();
if(mobile.length()!=11){
System.out.println("手机号长度不正确,请重新输入");
}else{
user.setMobile(mobile);
}
}while(mobile.length()!=11);
do{
System.out.print("请输入地址:");
address=sc.next();
if(address.length()<=10){
System.out.println("地址长度不正确,请重新输入");
}else{
user.setAddress(address);
}
}while(address.length()<=10);
do{
System.out.print("请输入预存金额:");
balance=sc.nextDouble();
if(balance<=0){
System.out.println("预存金额不正确,请重新输入");
}else{
user.setBalance(balance);
}
}while(balance<=0);
String CardNo=CardNo();
user.setCardNo(CardNo);
users[size]=user;
size++;
System.out.println();
System.out.println("注册成功,您的卡号为"+CardNo+"正在跳转登录");
System.out.println();
Login();
}
public void Login(){
System.out.print("请输入卡号:");
String CardNo=sc.next();
System.out.print("请输入密码:");
String password=sc.next();
User u=CheckLogin(CardNo,password);
do{
if(u!=null){
System.out.println("登录成功,正在为你跳转到菜单");
System.out.println();
menu(u);
}else{
System.out.println();
System.out.println("用户名或密码不正确,请重新输入");
System.out.print("请输入卡号:");
CardNo=sc.next();
System.out.print("请输入密码:");
password=sc.next();
u=CheckLogin(CardNo,password);
if(u!=null){
System.out.println("登录成功,正在为你跳转到菜单");
System.out.println();
menu(u);
}
System.out.println();
}
}while (u==null);
}
public User CheckLogin(String CardNo,String password){
for(int i=0;i<users.length;i++){
if(CardNo.equals(users[i].getCardNo())&&password.equals(users[i].getPassword())){
return users[i];
}
}
return null;
}
public String CardNo(){
String str="6222";
Random random=new Random();
int s=random.nextInt(999999);
return str+s;
}
public void menu(User u){
int n=0,c=0;
while (n>=0){
System.out.println("========欢迎来到银行自助ATM机==========");
System.out.println("1.存款 2.取款 3.转账 4.查看个人信息 5.修改信息 6.查询余额 0.退出");
System.out.println("============================");
System.out.print("请输入编号:");
n=sc.nextInt();
switch (n){
case 1:
ck(u);
break;
case 2:
qk(u);
break;
case 3:
zz(u);
break;
case 4:
info(u);
break;
case 5:
update(u);
break;
case 6:
select(u);
break;
case 0:
System.out.println("已为你退出,欢迎下次使用");
return;
default:
c++;
System.out.println("输入有误,请重新输入,您已错误"+c+"次");
break;
}
if(c==3){
System.out.println("操作错误次数达到3次,卡被吞了,请于工作人员联系");
return;
}
}
}
public void ck(User u){
double balance;
do{
System.out.println("您当前余额为"+u.getBalance()+"元");
System.out.print("请输入存款金额");
balance=sc.nextDouble();
if(balance<=0){
System.out.println("您的输入不正确,请重新输入");
System.out.println();
}else{
u.setBalance(balance+u.getBalance());
System.out.println("您当前余额为"+u.getBalance()+"元");
System.out.println();
}
}while (balance<=0);
}
public void qk(User u){
double balance;
do{
System.out.println("您当前余额为"+u.getBalance()+"元");
System.out.print("请输入取款金额");
balance=sc.nextDouble();
if(balance>u.getBalance()){
System.out.println("可用余额不足,请重新输入");
System.out.println();
}else if(balance<=0){
System.out.println("您的输入不正确,请重新输入");
System.out.println();
}else{
u.setBalance(u.getBalance()-balance);
System.out.println("您当前余额为"+u.getBalance()+"元");
System.out.println();
}
}while (balance<=0||balance>u.getBalance());
}
public void zz(User u){
System.out.println("请输入对方姓名");
String username=sc.next();
User f=friend(username);
if(f!=null){
System.out.println("对方卡号为"+f.getCardNo());
System.out.println("对方姓名为"+f.getUsername());
System.out.println("请输入转账金额");
double m=sc.nextDouble();
if(m>u.getBalance()){
System.out.println("转账失败,可用余额不足,请重新输入");
}else{
f.setBalance(u.getBalance()+m);
u.setBalance(u.getBalance()-m);
System.out.println("对方余额为"+f.getBalance());
System.out.println("您的余额为"+u.getBalance());
}
}else{
System.out.println("输入有误,请重新输入");
System.out.println();
}
}
public void info(User u){
System.out.println("您正在查看个人资料");
System.out.println();
System.out.println("卡号为"+u.getCardNo());
System.out.println("开户行编号"+u.getBankNo());
System.out.println("开户行名称"+u.getBankName());
System.out.println("身份证号"+u.getIdentity());
System.out.println("手机号为"+u.getMobile());
System.out.println("地址为"+u.getAddress());
System.out.println("余额为"+u.getBalance());
System.out.println();
}
public void update(User user){
System.out.println("您正在修改个人资料");
String username,identity,mobile,address,password;
double balance=0;
do{
System.out.print("请输入大于5位数用户名:");
username=sc.next();
if(username.length()<5){
System.out.println("用户名长度不正确,请重新输入");
}else{
user.setUsername(username);
}
}while(username.length()<5);
do{
System.out.print("请输入6位数密码:");
password=sc.next();
if(password.length()<5){
System.out.println("密码长度不正确,请重新输入");
}else{
user.setPassword(password);
}
}while(password.length()<5);
do{
System.out.print("请输入身份证号:");
identity=sc.next();
if(identity.length()!=18){
System.out.println("身份证号长度不正确,请重新输入");
}else{
user.setIdentity(identity);
}
}while(identity.length()!=18);
do{
System.out.print("请输入手机号:");
mobile=sc.next();
if(mobile.length()!=11){
System.out.println("手机号长度不正确,请重新输入");
}else{
user.setMobile(mobile);
}
}while(mobile.length()!=11);
do{
System.out.print("请输入地址:");
address=sc.next();
if(address.length()<=10){
System.out.println("地址长度不正确,请重新输入");
}else{
user.setAddress(address);
}
}while(address.length()<=10);
do{
System.out.print("请输入预存金额:");
balance=sc.nextDouble();
if(balance<=0){
System.out.println("预存金额不正确,请重新输入");
}else{
user.setBalance(balance);
}
}while(balance<=0);
}
public void select(User u){
System.out.println();
System.out.println("您当前余额为:"+u.getBalance());
System.out.println();
}
public User friend(String username){
for(int i=0;i<users.length;i++){
if(username.equals(users[i].getUsername())){
return users[i];
}
}
return null;
}
}
class User{
private String CardNo;
private String BankNo;
private String BankName;
private String username;
private String password;
private String identity;
private String mobile;
private String address;
private double balance;
private int access;
public User() {
}
public User(String cardNo, String bankNo, String bankName, String username, String password, String identity, String mobile, String address, double balance, int access) {
CardNo = cardNo;
BankNo = bankNo;
BankName = bankName;
this.username = username;
this.password = password;
this.identity = identity;
this.mobile = mobile;
this.address = address;
this.balance = balance;
this.access = access;
}
public String getCardNo() {
return CardNo;
}
public void setCardNo(String cardNo) {
CardNo = cardNo;
}
public String getBankNo() {
return BankNo;
}
public void setBankNo(String bankNo) {
BankNo = bankNo;
}
public String getBankName() {
return BankName;
}
public void setBankName(String bankName) {
BankName = bankName;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getIdentity() {
return identity;
}
public void setIdentity(String identity) {
this.identity = identity;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
public int getAccess() {
return access;
}
public void setAccess(int access) {
this.access = access;
}
}



发表回复