前言:因為時間有點倉促,所以有的方面還沒有實現,比如建一個包 存放Bank類,在裡面可以儲存帳號資訊等 ,有的存款取款的值也會不準確,會繼續改進。 package entity;import java.util.*; //項目名稱:Bank Account Management System 銀行賬戶管理系統 簡稱BAM//項目描述:這是一個銀行賬戶管理系統,使用者可以操作自己的銀行賬戶.//項目實施方式:這是一個同步練習,隨著CoreJava課程的深入,這個項目將趨於完整,學員的任務是隨著知識點的深入,完成每一個進階的項目要求.//練習1:(物件導向基礎文法)//建立entity包,編寫一個賬戶類(Account),屬性://id:賬戶號碼 長整數//password:賬戶密碼//name:真實姓名//personId:社會安全號碼碼 字串類型//balance:賬戶餘額//方法://deposit: 存款方法,參數是double型的金額//withdraw:取款方法,參數是double型的金額//構造方法://有參和無參,有參構造方法用於設定必要的屬性//練習2:(封裝)//將Account類作成完全封裝//練習3:(繼承,多態)//銀行的客戶分為兩類,儲蓄賬戶(SavingAccount)和信用賬戶(CreditAccount),區別在於儲蓄賬戶不允許透支,而信用賬戶可以透支10000元//在entity包中為這兩種使用者編寫相關的類//同時要求建立biz包,編寫Bank類,屬性://1.當前所有的賬戶對象的集合,存放在數組中//2.當前賬戶數量//方法://1.使用者開戶,需要的參數:id,密碼,密碼確認,姓名,社會安全號碼碼,賬戶類型,返回新建立的Account對象的帳號,提示:用s1.equals(s2) 可以比較s1,s2兩個字串的值是否相等.賬戶類型是一個整數,為0的時候表示儲蓄賬戶,為1的時候表示信用賬戶//2.使用者登入,參數:id,密碼 返回登入賬戶的帳號//3.使用者存款,參數:id,存款數額,返回void//4.使用者取款,參數:id,取款數額,返回void//5.查詢餘額,參數:id,返回該賬戶的餘額 double//使用者會通過調用Bank對象以上的方法來操作自己的賬戶,請分析各個方法需要的參數//利用文本輸入工具製作命令列下的終端訪問介面(TextView類),可以放在view包中.該類會維護Bank對象的引用,收集使用者的輸入,調用Bank中的相應方法,並將業務處理結果顯示給使用者.public class Account { long id =1001 ; String password ="123"; String name= "baokai"; String personID = "dsa"; double balance = 100; public Account() { long id ; String password ; String name; String personID ; double balance ; } public Account(long l,String pa,String n,String pi,double b) { id = l; password = pa; name = n; personID = pi; balance = b ; } public long getid(long l) {id =l; return id; } public String getpassword(String pa) { password =pa; return password; } public String getname(String n) { name =n; return name; } public String getpersonID(String pi) { personID =pi; return personID; } public double getbalance(double b) { balance =b; return balance; } public void kaihu() { System.out.println("請輸入帳號"); Scanner b = new Scanner(System.in); long b1 = b.nextInt(); getid(b1); System.out.println("請輸入密碼"); Scanner b2 = new Scanner(System.in); String b3 = b2.next(); getpassword(b3); System.out.println("請輸入姓名"); Scanner b4 = new Scanner(System.in); String b5 = b4.next(); getname(b5); System.out.println("請輸入身份證"); Scanner b6 = new Scanner(System.in); String b7 = b6.next(); getpersonID(b7); System.out.println("請輸入您要儲存的金額"); Scanner b8 = new Scanner(System.in); double b9 = b8.nextInt(); getbalance(b9); System.out.println("您開戶成功 資訊是如下"); display(); } public void denglu() { System.out.println("請輸入您要登陸的帳號"); Scanner us = new Scanner(System.in); long num4 = us.nextInt(); if(num4==id) { System.out.println("請輸入您要登陸的密碼"); Scanner us1 = new Scanner(System.in); String num2 = us1.next(); boolean n1 =password.equals(num2); if(n1) { System.out.println("登陸正確,現在顯示資訊"); display(); } } } public void despoit() { System.out.println("請輸入您要登陸的帳號"); Scanner us = new Scanner(System.in); long num4 = us.nextInt(); if(num4==id) { System.out.println("請輸入您要登陸的密碼"); Scanner us1 = new Scanner(System.in); String num2 = us1.next(); boolean n1 =password.equals(num2); if(n1) { System.out.println("登陸正確,下面請您輸入要儲存多少錢"); Scanner us2 = new Scanner(System.in); double num3 = us1.nextInt(); balance = balance +num3; System.out.println("儲存成功 您現在的資訊為"); display(); } else { System.out.println("密碼不正確"); } } else{ System.out.println("帳號不存在 "); } } public void withdraw() { System.out.println("請輸入您要登陸的帳號"); Scanner us = new Scanner(System.in); long num4 = us.nextInt(); if(num4==id) { System.out.println("請輸入您要登陸的密碼"); Scanner us1 = new Scanner(System.in); String num2 = us1.next(); boolean n1 =password.equals(num2); if(n1) { System.out.println("登陸正確,下面請您輸入要取出多少錢"); Scanner us7 = new Scanner(System.in); double num8 = us1.nextInt(); balance = balance -num8; System.out.println("取錢成功 您現在的資訊為"); display(); } } } public void withdraw1() { System.out.println("請輸入您要登陸的帳號"); Scanner us = new Scanner(System.in); long num4 = us.nextInt(); if(num4==id) { System.out.println("請輸入您要登陸的密碼"); Scanner us1 = new Scanner(System.in); String num2 = us1.next(); boolean n1 =password.equals(num2); if(n1) { System.out.println("登陸正確,下面請您輸入要取出多少錢"); Scanner us7 = new Scanner(System.in); double num8 = us1.nextInt(); balance = balance -num8; if(balance>-10000) { System.out.println("取錢成功 您現在的資訊為"); display(); } else { System.out.println("您的餘款已經不足"); } } } } public void chaxun() { System.out.println("請輸入您要登陸的帳號"); Scanner us = new Scanner(System.in); long num4 = us.nextInt(); if(num4==id) { System.out.println("請輸入您要查詢的帳號"); Scanner us1 = new Scanner(System.in); long num2 = us1.nextInt(); if(num2 == id) { System.out.println("查詢正確 現在輸出資訊"); display(); } } } public void display() { System.out.println("您現在的資訊如下面顯示:"); System.out.println(id); System.out.println(password); System.out.println(name); System.out.println(personID); System.out.println(balance); } }下面是兩個類 分別是SavingAccount和CreditAccount package entity;import java.util.*; public class SavingAccount { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("歡迎光臨銀行儲蓄業務"); do{ System.out.println("請輸入您要選擇的業務:1 代表開戶,2代表登陸 ,3代表存款,4代表取款,5代表查詢"); Account ac = new Account(); Scanner a = new Scanner(System.in); int a1 = a.nextInt(); switch(a1) { case 1: ac.kaihu(); break; case 2: ac.denglu(); break; case 3: ac.despoit(); break; case 4: ac.withdraw(); break; case 5: ac.chaxun(); break; default :System.out.println("沒有匹配的"); } }while(true); } } package entity;import java.util.*; public class CreditAccount { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("歡迎光臨銀行信用業務"); do{ System.out.println("請輸入您要選擇的業務:1 代表開戶,2代表登陸 ,3代表存款,4代表取款,5代表查詢"); Account ac = new Account(); Scanner a = new Scanner(System.in); int a1 = a.nextInt(); switch(a1) { case 1: ac.kaihu(); break; case 2: ac.denglu(); break; case 3: ac.despoit(); break; case 4: ac.withdraw1(); break; case 5: ac.chaxun(); break; default :System.out.println("沒有匹配的"); } }while(true); }}