我是靠谱客的博主 忧伤夕阳,最近开发中收集的这篇文章主要介绍Java 基础 利用数组来实现银行注册开户、存钱、取钱Java 基础 利用数组来实现银行注册开户、存钱、取钱,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
Java 基础 利用数组来实现银行注册开户、存钱、取钱
1、主界面 放置于BankSystem类中
思路:
(1)用输入语句完成主界面的编写
(2)用Scanner实现键盘录入数据
(3)用switch语句完成操作的选择
(4)用循环再次回到主界面
public class BankSystem {
public static void main(String[] args) {
//输出语句完成主界面
while (true) {
System.out.println("----------欢迎来到银行自助系统--------");
System.out.println("
系统功能:");
System.out.println("
A、开户");
System.out.println("
B、存钱");
System.out.println("
C、取钱");
System.out.println("
D、退出");
System.out.println("
请输入你的选择:");
//用Scanner实现键盘录入数据
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
//用switch语句完成操作选择
switch (line) {
case "A":
//System.out.println("开户");
BankUtil.addUser();
break;
case "B":
//System.out.println("存钱");
BankUtil.severmoney();
break;
case "C":
//System.out.println("取钱");
BankUtil.costmoney();
break;
case "D":
System.out.println("谢谢使用");
//
break;
System.exit(0);//JVM退出
default:
System.out.println("请输入正确选项!");
break;
}
}
}
}
2、开户功能、存钱功能、取钱功能 放置在BankUtil工具类中
public class BankUtil {
public static int ID = 100;
public static int k = 0;
//初始化数组以后每次加1
static Users[] userodd = new Users[0];
//创建集合对象,用于存储用户数据
//copy方法:将老数组放置新数组中
public static Users[] arraycopy() {
Users[] user = new Users[userodd.length + 1];
for (int i = 0; i < userodd.length; i++) {
user[i] = userodd[i];
}
return user;
}
//定义一个方法,用于开户添加用户信息
public static void addUser() {
//键盘录入用户信息
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的姓名:");
String name = sc.nextLine();
Scanner sc2 = new Scanner(System.in);
System.out.println("请输入你的初始余额:");
double rest = sc2.nextDouble();
System.out.println("请输入你的密码:");
String password = sc.nextLine();
//把用户所填信息添加到数组中
userodd = arraycopy();
//把对象放进对象数组
Users user = new Users(name, rest, password);
//用户ID自增
user.setIdcard(BankUtil.ID++);
//数组长度加一
userodd[BankUtil.k++] = user;
//给出添加成功提示
System.out.println("恭喜你,开户成功!");
System.out.println("银行卡账号:" + user.getIdcard());
System.out.println("姓名:" + user.getName());
System.out.println("余额:" + user.getRest());
System.out.println("开过户的用户有");
//遍历数组,输出当前开过户的用户信息
for (Users x : userodd) {
System.out.println(x);
}
}
public static void severmoney() {
//键盘录入用户信息
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的卡号:");
int Idc = sc.nextInt();
Scanner sc3 = new Scanner(System.in);
System.out.println("请输入你的密码:");
String password = sc3.nextLine();
Scanner sc2 = new Scanner(System.in);
System.out.println("请输入你要存的金额:");
double money = sc2.nextDouble();
// 引入flag 变量解决遍历数组无法判断输出错误提示的问题
boolean flag = true;
while (flag) {
for (int i = 0; i < userodd.length; i++) {
if (Idc == userodd[i].getIdcard() && password.equals(userodd[i].getPassword())) {
userodd[i].severmoney(money);
System.out.println("存款成功!");
System.out.println("银行卡账号:" + userodd[i].getIdcard());
System.out.println("姓名:" + userodd[i].getName());
System.out.println("余额:" + userodd[i].getRest());
System.out.println();
flag = false;
}
}
break;
}
if (flag) {
System.out.println("您输入的账号或密码不正确!请重新输入:");
severmoney();
}
}
public static void costmoney() {
//键盘录入用户信息
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的卡号:");
int Idc = sc.nextInt();
Scanner sc3 = new Scanner(System.in);
System.out.println("请输入你的密码:");
String password = sc3.nextLine();
Scanner sc2 = new Scanner(System.in);
System.out.println("请输入你要取的金额:");
double money = sc2.nextDouble();
boolean flag = true;
while (flag) {
for (int i = 0; i < userodd.length; i++) {
if (Idc == userodd[i].getIdcard() && password.equals(userodd[i].getPassword())) {
if (money <= userodd[i].getRest()) {
userodd[i].costmoney(money);
System.out.println("取款成功!");
System.out.println("银行卡账号:" + userodd[i].getIdcard());
System.out.println("姓名:" + userodd[i].getName());
System.out.println("余额:" + userodd[i].getRest());
System.out.println();
flag = false;
}
}
}
break;
}
if (flag) {
System.out.println("您输入的账号或密码不正确!请重新输入:");
costmoney();
}
}
}
用户数组 储存用户信息 放置于Users 类中
public class Users {
//银行卡号
private int idcard;
//姓名
private String name;
//余额
private double rest;
//密码
private String password;
@Override
public String toString() {
return "Users{" +
"idcard=" + idcard +
", name='" + name + ''' +
", rest=" + rest +
", password='" + password + ''' +
'}';
}
//存取钱金额
private double money;
public void severmoney(double money){
this.rest+=money;
}
public void costmoney(double money){
this.rest-=money;
}
public Users() {
}
public Users(String name, double rest, String password) {
this.name = name;
this.rest = rest;
this.password = password;
}
public int getIdcard() {
return idcard;
}
public void setIdcard(int idcard) {
this.idcard = idcard;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getRest() {
return rest;
}
public void setRest(double rest) {
this.rest = rest;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
}
最后
以上就是忧伤夕阳为你收集整理的Java 基础 利用数组来实现银行注册开户、存钱、取钱Java 基础 利用数组来实现银行注册开户、存钱、取钱的全部内容,希望文章能够帮你解决Java 基础 利用数组来实现银行注册开户、存钱、取钱Java 基础 利用数组来实现银行注册开户、存钱、取钱所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复