通過java 代碼來建立一個小型銀行


首先 我寫這個銀行管理系統也是 通過建立類,在類與類之間調用數據的方法實現的,我這次的銀行系統用到了三個類,分別是個人賬戶類,銀行類,銀行界面顯示類,通過賬戶類的構造函數來實現數據在這三個類之間的調用,銀行類實現數據的保存等等,具體代碼如下,如果你需要看源文件 請到我的博客里面找到mytest_bank壓縮包。

//賬戶類

package mybank;

import mybank.account;

public class account {
//賬戶子類
protected String name;
protected String accountid;////帳號
protected int number;//身份證號碼
protected Double balance;//余額
protected String starttime;//開戶時間

public account(String accountid){
// TODO Auto-generated constructor stub
this(accountid,null,null,0,0);
}
//構造方法
public account(String accountid,String name,String starttime,int number,double balance){

this.accountid = accountid;
this.name=name;
this.starttime=starttime;
this.number=number;
this.balance=balance;
}


//下面的這個方法至關重要,有了它就可以實現對象的添加刪除,存款等等
// 實現了equals方法,list比較時才能正確
@Override
public boolean equals(Object obj) {
if(obj == null){
return false;
}
if(this == obj){
return true;
}
if(obj instanceof account){
return this.accountid.equals(((account)obj).accountid);
}
return false;
}







//存款
public void savemoney(double money){
if(money<=0){
System.out.println("存款金額必須大於0");
}
this.balance+=money;
System.out.println("存款成功");
}
//取款
public double getmoney(double money){
if(money>this.balance){
System.out.println("余額不足,取款失敗");
return 0;
}
if(money<=this.balance){
this.balance-=money;
System.out.println("取款成功");
System.out.println("目前余額為"+this.balance);
return this.balance;
}
return this.balance;

}
public String toString() {
// TODO Auto-generated method stub
return "賬戶: " + accountid + " 姓名:" + name + " \n開戶時間: "+starttime+" \n身份證號碼: "+number+" \n余額: " + balance+"\n";
}

//存款
public void saveMoney(double money){
if(money <= 0){
System.out.println("存款金額必須大於0");
}
this.balance+= money;
System.out.println("存款成功");
}
public double getBalance(){
return this.balance;

}
//取款
public double getMoney(double money){
if(money <= 0){
System.out.println("取款金額必須大於0");
return 0;
}
if(this.balance <= money){
System.out.println("余額不足,無法取款");
return 0;
}
this.balance -= money;
System.out.println("取款成功");
return money;
}

}

//銀行類

package mybank;


//import Account;
import mybank.account;
import mybank.Banks;

import java.util.Scanner;
public class Bank {
private static Banks banks = new Banks();
public static void main(String[] args) {
choose();
}
//選擇方法
public static void choose(){
int x;
Scanner scanner=new Scanner(System.in);
System.out.println("1.開戶");
Bank n1 = new Bank();
System.out.println("2.存款");
System.out.println("3.取款");
System.out.println("4.查詢");
System.out.println("5.銷戶");
System.out.print("請輸入你需要的服務編號:");
x=scanner.nextInt();
switch (x){
case 1:
n1.account();
break;
case 2:
n1.saveMoney();
break;
case 3:
n1.getmoney();
break;
case 4:
//banks.getAccount(2);
n1.showNowAccount();
break;
case 6:
banks.getAccountNum();
break;
case 5:
n1.delete();
break;
case 7:
banks.All();
break;
}
choose();
}

//account方法 開戶方法
public void account() {
int balance=0;
Scanner scanner=new Scanner(System.in);

System.out.print("請輸入儲戶姓名:");
String name=scanner.next();
System.out.print("請輸入開戶時間:");
String starttime = scanner.next();
System.out.print("請輸入賬號:");
String accountid=scanner.next();
System.out.print("請輸入身份證號:");
int number=scanner.nextInt();
System.out.println("儲戶姓名:"+name+" "+
"賬號:"+accountid+" "+
"身份證號:"+number+" "+
"余額:"+balance+" "+
"開戶時間:"+starttime);

account person = new account(accountid,name,starttime, number,balance);
banks.addaccount(person);



}
//銷戶方法
public void delete(){
System.out.print("請輸入你要銷戶的id:");
Scanner scanner = new Scanner(System.in);

String id=scanner.nextLine();
//account accountid=id;
banks.deleteaccount(id);

}

//顯示所有賬戶
public static void showNowAccount(){

for (account account : banks.getAllAccount()) {
System.out.println(account);
}


}

//存款的方法
public static void saveMoney(){

Scanner input = new Scanner(System.in);
System.out.println("請輸入要存款的賬戶:");
String accountId = input.nextLine();
if (banks.existAccount(accountId)) {
account addmoney = banks.getAccount(accountId);
System.out.println("請輸入存款金額:");
double money = input.nextDouble();
addmoney.saveMoney(money);
System.out.println("當前余額:"+addmoney.getBalance());
}else {
System.out.println("該賬戶不存在,請重新輸入:");
saveMoney();
}
//showNowAccount();

}

//取款的方法
public static void getmoney(){

Scanner input = new Scanner(System.in);
System.out.println("請輸入要取款的賬戶:");
String accountId = input.nextLine();
if(banks.existAccount(accountId)){
account acc = banks.getAccount(accountId);
System.out.println("當前余額=" + acc.getBalance());
System.out.println("請輸入取款金額:");
double money = input.nextDouble();
acc.getMoney(money);
System.out.println("取后余額=" + acc.getBalance());
}else {
System.out.println("該賬戶不存在,請重新輸入:");
getmoney();
}
//openAccount();
}





}

 //銀行界面顯示類

package mybank;

 

import mybank.account;
import java.util.ArrayList;
import java.util.List;
public class Banks {
private List<account> account_list;// 這句話是什么意思

public Banks(){

//創建一個賬戶數組
account_list = new ArrayList<account>();//創建了一個數組對象 account_list
}

//添加賬戶
public void addaccount(account person){
if(account_list.contains(person)){ //方法返回true,當且僅當此字符串包含指定的char值序列
System.out.println("添加失敗,此賬戶已存在!");
}else{
//將賬戶添加進賬戶數組
account_list.add(person);
System.out.println("賬戶添加成功!");
}
/*account_list.add(account);
System.out.println("添加成功");*/
}
//判斷賬戶列表中是否已存在要修改的賬戶
public boolean existAccount(String accountId) {
account existaccount = new account(accountId);
return account_list.contains(existaccount);

}

//刪除用戶
public void deleteaccount(String accountid){
account delaccount = new account(accountid);//account_list = new ArrayList<Account>();
account_list.remove(delaccount);
if(account_list.contains(accountid)){
System.out.println("銷戶失敗");
}else{
System.out.println("銷戶成功");
}
/* if(account_list.contains(accountid)){
if(account_list.remove(accountid)){
System.out.println("銷戶成功");
}else{
System.out.println("銷戶失敗");
}
//account delaccount = new account(account);//account_list = new ArrayList<Account>();
//return account_list.remove(delaccount);

}else{
System.out.println("沒有該用戶");
}*/
/* if(account_list.contains(accountid)){
account deleteaccount = new account(accountid);//創建一個子類
account_list.remove(accountid);
if(account_list.contains(accountid)){
System.out.println("銷戶失敗");
}else{
System.out.println("銷戶成功");
}
//System.out.println("銷戶成功");
}
*/
}


//獲取賬戶總數
public void getAccountNum(){

System.out.println("目前有"+account_list.size()+"個用戶");
//return account_list.size();

}

//獲取某個賬戶
public account getAccount(String accountId){
account getaccount = new account(accountId);
return account_list.get(account_list.indexOf(getaccount));//Java中字符串中子串的查找共有四種方法,如下:
//1、int indexOf(String str) :返回第一次出現的指定子字符串在此字符串中的索引。
//2、int indexOf(String str, int startIndex):從指定的索引處開始,返回第一次出現的指定子字符串在此字符串中的索引。
//3、int lastIndexOf(String str) :返回在此字符串中最右邊出現的指定子字符串的索引。
//4、int lastIndexOf(String str, int startIndex) :從指定的索引處開始向后搜索,返回在此字符串中最后一次出現的指定子字符串的索引。

}
public List<account> getAllAccount(){

return account_list;

}
public void All(){

System.out.println("目前有"+account_list+"個用戶");

}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM