题目集7~9的总结性Blog

一.前言

  一.知识点

    1.掌握类的继承、多态性使用方法以及接口的应用。

    2.理解各实体类之间的关系,尤其是一对多的组合关系。  

    3.知道对实体类的设计要做到单一职责原则,且不能缺少规定的实体类。

    4.编程时考虑面向对象中的封装性本题目中的应用以及是否有能够扩展 的衍生需求。

  二.题量及难度

    1.作业的题量较少,题目难度较大,第七次题目集只有两题,第八次题目集只有一题,第九次是在第八次的基础上增加难度。

    2.第七次题目集难度偏难,但有的东西是以前写过的,题量较少,只有两题。

    3.第八次题目集只有一题,题量太少,题目太难,要的知识很广,细节很多。

    4.第九次题目集也是只有一题,题目难度高,是第八次的升级版,难度较大。

二.设计与分析

  一.题目集七

    1.第七次作业主要要求实现图形卡片的排序,分组,考察类的继承、多态性使用方法以及接口的应用。

    2.本题我共定义了7个类(Main除外),分别为卡片(Card)、圆形(Circle)、矩形(Rectangle)、三角形(Triangle)、梯形(Trapezoid)、数据处理(DealCardList)及一个抽象类Shape。

    3.题目的类图以及要求如下所示:

 

 

 

public class Main {
    //在Main类中定义一个静态Scanner对象,这样在其它类中如果想要使用该对象进行输入,则直接
//使用Main.input.next…即可(避免采坑)
    public static Scanner input = new Scanner(System.in);
    public static void main(String[] args){
        ArrayList<Integer> list = new ArrayList<Integer>();
        int num = input.nextInt();
//         if(num==0){
//             System.out.println("Wrong Format");
//             System.exit(0);
//         }
        while(num != 0){
            if(num < 0 || num > 4){
                System.out.println("Wrong Format");
                System.exit(0);
            }
            list.add(num);
            num = input.nextInt();
        }
        DealCardList dealCardList = new DealCardList(list);
        if(!dealCardList.validate()){
            System.out.println("Wrong Format");
            System.exit(0);
        }
        dealCardList.showResult();
        input.close();
    }
}

  1.这一题的关键在于数据的输入以及如何处理数据,我用一个ArrayList来存储数据,在读取数据时以空格隔离,将数据分别存入四个ArrayList,对应四种图形。

  2.创建四个类,对圆形、三角形、梯形、矩形的四个类、继承同一个父类:Shape。那么 根据一开始输入的数字,对相应的图形数据进行赋值,是圆形就只要输入半径,结果需要的是面积和周长,所以那就不需要圆心的坐标。对于矩形,就需要输入长和宽,计算周长和面积,那么对于三角形,就需要输入三角形的三条边,之后也要计算面积和周长,再就是梯形,如果需要输入梯形就是要输入上底和下底,还有高,同样可以计算周长和面积。

  3.本次作业要求对卡片排序时使用 Comparable 接口, 即 Card 类需要实现 Comparable 接口中的 CompareTo()方法。

  4.在将数据分类时,不使用if else语句,用一个switch来进行数据分离以及运算。

public DealCardList(ArrayList<Integer> card) {
        for (Integer integer : card) {
            if (integer==0)break;
            switch (integer){
                case 1:
                    Card card1=new Card(new Circle(Main.input.nextDouble()));
                    card1.getShape().setShapeName("Circle");
                    cardList.add(card1);
                    break;
                case 2:
                    Card card2=new Card(new Rectangle(Main.input.nextDouble(),Main.input.nextDouble()));
                    card2.getShape().setShapeName("Rectangle");
                    cardList.add(card2);
                    break;
                case 3:
                    Card card3=new Card(new Triangle(Main.input.nextDouble(),Main.input.nextDouble(),Main.input.nextDouble()));
                    card3.getShape().setShapeName("Triangle");
                    cardList.add(card3);
                    break;
                case 4:
                    Card card4=new Card(new Trapezoid(Main.input.nextDouble(),Main.input.nextDouble(),Main.input.nextDouble()));
                    card4.getShape().setShapeName("Trapezoid");
                    cardList.add(card4);
                    break;
            }

        }
    }

  二.题目集八

    1.作业目标 编写一个银行 ATM 机的模拟程序,能够完成用户的存款、取款以及查询余额功能。

    2 设计要求 务必注意本题目中的各实体类之间的关系,尤其是一对多的组合关系,对实体类的设计要做到单一职责原则,且不能缺少规定的实体类,编程时考虑面向对象中的封装性本题目中的应用以及是否有能够扩展 的衍生需求。

    3.题目要求如图

 

 

 public class Main {

    public static void main(String[] args) {

    Scanner input = new Scanner(System.in);

   

    UnionPay unionPay = new UnionPay();   

   

    Bank ccb = new Bank("1001","中国建设银行");

    Bank icbc = new Bank("1002","中国工商银行");

    Bank abc =new Bank("1003","中国农业银行");

    unionPay.addBank(ccb);

    unionPay.addBank(icbc);

    unionPay.addBank(abc);

    ATM aTM1 = new ATM("01",ccb);

    ATM aTM2 = new ATM("02",ccb);

    ATM aTM3 = new ATM("03",ccb);

    ATM aTM4 = new ATM("04",ccb);

    ATM aTM5 = new ATM("05",icbc);

    ATM aTM6 = new ATM("06",icbc);

    ATM aTM7 = new ATM("07",abc);

    ATM aTM8 = new ATM("08",abc);

    ATM aTM9 = new ATM("09",abc);

    ATM aTM10 = new ATM("10",abc);

    ATM aTM11= new ATM("11",abc);

   

    ccb.addATM(aTM1);

    ccb.addATM(aTM2);

    ccb.addATM(aTM3);

    ccb.addATM(aTM4);

    icbc.addATM(aTM5);

    icbc.addATM(aTM6);

    abc.addATM(aTM7);

    abc.addATM(aTM8);

    abc.addATM(aTM9);

    abc.addATM(aTM10);

    abc.addATM(aTM11);

   

    User Yangguo = new User("360101200102122324","杨过","13856223254");

    User Guojing = new User("360101200012302552","郭靖","13800021124");

    User Zhangwuji = new User("360502199805163221","张无忌","13952110011");

    User Weixiaobao = new User("360201200513243326","韦小宝","13025996587");

    User zhangsanfeng = new User("360201200513243326","张三丰 ","13025996587");

    User linghuchong = new User("360201200513243326","令狐冲","13025996587");

    User qiaofeng = new User("360201200513243326","乔峰","13025996587");

    User hongqigong = new User("360201200513243326","洪七公","13025996587");

 

   

    Account ccbAcc1 = new Account("3217000010041315709",10000.00,Yangguo,ccb);

    Account ccbAcc2 = new Account("3217000010041315715",10000.00,Yangguo,ccb);

    Account ccbAcc3 = new Account("3217000010051320007",10000.00,Guojing,ccb);

    Account icbcAcc1 = new Account("3222081502001312389",10000.00,Zhangwuji,icbc);

    Account icbcAcc2 = new Account("3222081502001312390",10000.00,Zhangwuji,icbc);

    Account icbcAcc3 = new Account("3222081502001312399",10000.00,Zhangwuji,icbc);

    Account icbcAcc4 = new Account("3222081502051320785",10000.00,Weixiaobao,icbc);

    Account icbcAcc5 = new Account("3222081502051320786",10000.00,Weixiaobao,icbc);

    Account abcAcc1 = new Account("3640000010045442002",10000.00,zhangsanfeng,abc);

    Account abcAcc2 = new Account("3640000010045441009",10000.00,linghuchong,abc);

    Account abcAcc3 = new Account("3630000010033431001 ",10000.00,qiaofeng,icbc);

    Account abcAcc4 = new Account("3630000010033431008",10000.00,hongqigong,icbc);

 

   

    ccb.addAccount(ccbAcc1);

    ccb.addAccount(ccbAcc2);

    ccb.addAccount(ccbAcc3);

    icbc.addAccount(icbcAcc1);

    icbc.addAccount(icbcAcc2);

    icbc.addAccount(icbcAcc3);

    icbc.addAccount(icbcAcc4);

    icbc.addAccount(icbcAcc5);

    abc.addAccount(abcAcc1);

    abc.addAccount(abcAcc2);

    abc.addAccount(abcAcc3);

    abc.addAccount(abcAcc4);

 

   

    Yangguo.addAccount(ccbAcc1);

    Yangguo.addAccount(ccbAcc2);

    Guojing.addAccount(ccbAcc3);

    Zhangwuji.addAccount(icbcAcc1);

    Zhangwuji.addAccount(icbcAcc2);

    Zhangwuji.addAccount(icbcAcc3);

    Weixiaobao.addAccount(icbcAcc4);

    zhangsanfeng.addAccount(abcAcc1);

    linghuchong.addAccount(abcAcc2);

    qiaofeng.addAccount(abcAcc3);

    hongqigong.addAccount(abcAcc4);

 

    Card ccbCard1 = new Card("6217000010041315709","88888888",ccbAcc1);

    Card ccbCard2 = new Card("6217000010041315715","88888888",ccbAcc1);

    Card ccbCard3 = new Card("6217000010041315718","88888888",ccbAcc2);

    Card ccbCard4 = new Card("6217000010051320007","88888888",ccbAcc3);

    Card icbcCard5 = new Card("6222081502001312389","88888888",icbcAcc1);

    Card icbcCard6 = new Card("6222081502001312390","88888888",icbcAcc2);

    Card icbcCard7 = new Card("6222081502001312399","88888888",icbcAcc3);

    Card icbcCard8 = new Card("6222081502001312400","88888888",icbcAcc3);

    Card icbcCard9 = new Card("6222081502051320785","88888888",icbcAcc4);

    Card icbcCard10 = new Card("6222081502051320786","88888888",icbcAcc5);

    Card icbcCard11 = new Card("6640000010045442002","88888888",abcAcc1);

    Card icbcCard12 = new Card("6640000010045442003","88888888",abcAcc1);

    Card icbcCard13 = new Card("6640000010045441009","88888888",abcAcc2);

    Card icbcCard14 = new Card("6630000010033431001","88888888",abcAcc3);

    Card icbcCard15 = new Card("6630000010033431008","88888888",abcAcc4);

 

    ccbAcc1.addCard(ccbCard1);

    ccbAcc1.addCard(ccbCard2);

    ccbAcc2.addCard(ccbCard3);

    ccbAcc3.addCard(ccbCard4);

    icbcAcc1.addCard(icbcCard5);

    icbcAcc2.addCard(icbcCard6);

    icbcAcc3.addCard(icbcCard7);

    icbcAcc3.addCard(icbcCard8);

    icbcAcc4.addCard(icbcCard9);

    icbcAcc5.addCard(icbcCard10);

    abcAcc1.addCard(icbcCard11);

    abcAcc1.addCard(icbcCard12);

    abcAcc2.addCard(icbcCard13);

    abcAcc3.addCard(icbcCard14);

    abcAcc4.addCard(icbcCard15);

    StringBuilder sb = new StringBuilder();

   

    String data;

   

    while(!((data = input.nextLine()).equals("#"))) {

    sb.append(data + "\n");

    }   

   

    String[] dt = sb.toString().split("\n");

    for(int i = 0; i < dt.length; i++) {

    String[] dataLine = dt[i].toString().split("\\s+");

   

    if(dataLine.length == 1) {

        GetBalance gb = new GetBalance(unionPay);

            System.out.println(String.format("业务:查询余额 ¥%.2f", gb.getBalance(dataLine[0])));

        }else {

        Withdraw wd = new Withdraw(unionPay,dataLine[0],dataLine[1],dataLine[2],Double.parseDouble(dataLine[3]));

        wd.withdraw();

        }

    }   

    }

}

 

分析:该题目集我认为最难的一点是如何理解各个对象之间的关系,设计出合理的程序结构。在银联中建一个列表存银行,银行中有两个列表分别存储用户和ATM机,用户中有一个列表存储账户,账户中有一个列表存储银行卡。最后在WithDraw类中进行数据处理。分级来创建对象,将各个类串联起来,程序的复用性高。首先分析业务:要完成存取款,要做的事是,存取款要对应相应的卡号,因为每张卡的余额都是独立的,所以在存取款之前,就必须对银行卡账号进行核对,银行卡里面就必须存储这个银行卡所有者的个人信息,以及余额等数据,而在核对银行卡的时候,就需要查询是否存在这张卡,所以就需要在 银行里所有的银行卡查询,看是已经创建了这张卡,由此我们可以安排相应的一个方法来专门校验是否存在这张卡,

  三.题目集九

    这是题目集八的升级版,增加了(难度银行账户分为借记账户和贷记账户两种,其中,借记账户不能够透支 取款,而贷记账户可以透支取款(可能需要支付手续费)。)根据账户 的不同,银行卡一般分为借记卡(针对借记账户)和信用卡(针对贷记账户) 两类。这些。

 

 

 

 

 

 

 

 

 

 public class Main {

    public static void main(String[] args) {

    Scanner input = new Scanner(System.in);

   

    UnionPay unionPay = new UnionPay();   

   

    Bank ccb = new Bank("1001","中国建设银行");

    Bank icbc = new Bank("1002","中国工商银行");

    Bank abc =new Bank("1003","中国农业银行");

    unionPay.addBank(ccb);

    unionPay.addBank(icbc);

    unionPay.addBank(abc);

    ATM aTM1 = new ATM("01",ccb);

    ATM aTM2 = new ATM("02",ccb);

    ATM aTM3 = new ATM("03",ccb);

    ATM aTM4 = new ATM("04",ccb);

    ATM aTM5 = new ATM("05",icbc);

    ATM aTM6 = new ATM("06",icbc);

    ATM aTM7 = new ATM("07",abc);

    ATM aTM8 = new ATM("08",abc);

    ATM aTM9 = new ATM("09",abc);

    ATM aTM10 = new ATM("10",abc);

    ATM aTM11= new ATM("11",abc);

   

    ccb.addATM(aTM1);

    ccb.addATM(aTM2);

    ccb.addATM(aTM3);

    ccb.addATM(aTM4);

    icbc.addATM(aTM5);

    icbc.addATM(aTM6);

    abc.addATM(aTM7);

    abc.addATM(aTM8);

    abc.addATM(aTM9);

    abc.addATM(aTM10);

    abc.addATM(aTM11);

   

    User Yangguo = new User("360101200102122324","杨过","13856223254");

    User Guojing = new User("360101200012302552","郭靖","13800021124");

    User Zhangwuji = new User("360502199805163221","张无忌","13952110011");

    User Weixiaobao = new User("360201200513243326","韦小宝","13025996587");

    User zhangsanfeng = new User("360201200513243326","张三丰 ","13025996587");

    User linghuchong = new User("360201200513243326","令狐冲","13025996587");

    User qiaofeng = new User("360201200513243326","乔峰","13025996587");

    User hongqigong = new User("360201200513243326","洪七公","13025996587");

 

   

    Account ccbAcc1 = new Account("3217000010041315709",10000.00,Yangguo,ccb);

    Account ccbAcc2 = new Account("3217000010041315715",10000.00,Yangguo,ccb);

    Account ccbAcc3 = new Account("3217000010051320007",10000.00,Guojing,ccb);

    Account icbcAcc1 = new Account("3222081502001312389",10000.00,Zhangwuji,icbc);

    Account icbcAcc2 = new Account("3222081502001312390",10000.00,Zhangwuji,icbc);

    Account icbcAcc3 = new Account("3222081502001312399",10000.00,Zhangwuji,icbc);

    Account icbcAcc4 = new Account("3222081502051320785",10000.00,Weixiaobao,icbc);

    Account icbcAcc5 = new Account("3222081502051320786",10000.00,Weixiaobao,icbc);

    Account abcAcc1 = new Account("3640000010045442002",10000.00,zhangsanfeng,abc);

    Account abcAcc2 = new Account("3640000010045441009",10000.00,linghuchong,abc);

    Account abcAcc3 = new Account("3630000010033431001 ",10000.00,qiaofeng,icbc);

    Account abcAcc4 = new Account("3630000010033431008",10000.00,hongqigong,icbc);

 

   

    ccb.addAccount(ccbAcc1);

    ccb.addAccount(ccbAcc2);

    ccb.addAccount(ccbAcc3);

    icbc.addAccount(icbcAcc1);

    icbc.addAccount(icbcAcc2);

    icbc.addAccount(icbcAcc3);

    icbc.addAccount(icbcAcc4);

    icbc.addAccount(icbcAcc5);

    abc.addAccount(abcAcc1);

    abc.addAccount(abcAcc2);

    abc.addAccount(abcAcc3);

    abc.addAccount(abcAcc4);

 

   

    Yangguo.addAccount(ccbAcc1);

    Yangguo.addAccount(ccbAcc2);

    Guojing.addAccount(ccbAcc3);

    Zhangwuji.addAccount(icbcAcc1);

    Zhangwuji.addAccount(icbcAcc2);

    Zhangwuji.addAccount(icbcAcc3);

    Weixiaobao.addAccount(icbcAcc4);

    zhangsanfeng.addAccount(abcAcc1);

    linghuchong.addAccount(abcAcc2);

    qiaofeng.addAccount(abcAcc3);

    hongqigong.addAccount(abcAcc4);

 

    Card ccbCard1 = new Card("6217000010041315709","88888888",ccbAcc1);

    Card ccbCard2 = new Card("6217000010041315715","88888888",ccbAcc1);

    Card ccbCard3 = new Card("6217000010041315718","88888888",ccbAcc2);

    Card ccbCard4 = new Card("6217000010051320007","88888888",ccbAcc3);

    Card icbcCard5 = new Card("6222081502001312389","88888888",icbcAcc1);

    Card icbcCard6 = new Card("6222081502001312390","88888888",icbcAcc2);

    Card icbcCard7 = new Card("6222081502001312399","88888888",icbcAcc3);

    Card icbcCard8 = new Card("6222081502001312400","88888888",icbcAcc3);

    Card icbcCard9 = new Card("6222081502051320785","88888888",icbcAcc4);

    Card icbcCard10 = new Card("6222081502051320786","88888888",icbcAcc5);

    Card icbcCard11 = new Card("6640000010045442002","88888888",abcAcc1);

    Card icbcCard12 = new Card("6640000010045442003","88888888",abcAcc1);

    Card icbcCard13 = new Card("6640000010045441009","88888888",abcAcc2);

    Card icbcCard14 = new Card("6630000010033431001","88888888",abcAcc3);

    Card icbcCard15 = new Card("6630000010033431008","88888888",abcAcc4);

 

    ccbAcc1.addCard(ccbCard1);

    ccbAcc1.addCard(ccbCard2);

    ccbAcc2.addCard(ccbCard3);

    ccbAcc3.addCard(ccbCard4);

    icbcAcc1.addCard(icbcCard5);

    icbcAcc2.addCard(icbcCard6);

    icbcAcc3.addCard(icbcCard7);

    icbcAcc3.addCard(icbcCard8);

    icbcAcc4.addCard(icbcCard9);

    icbcAcc5.addCard(icbcCard10);

    abcAcc1.addCard(icbcCard11);

    abcAcc1.addCard(icbcCard12);

    abcAcc2.addCard(icbcCard13);

    abcAcc3.addCard(icbcCard14);

    abcAcc4.addCard(icbcCard15);

    StringBuilder sb = new StringBuilder();

   

    String data;

   

    while(!((data = input.nextLine()).equals("#"))) {

    sb.append(data + "\n");

    }   

   

    String[] dt = sb.toString().split("\n");

    for(int i = 0; i < dt.length; i++) {

    String[] dataLine = dt[i].toString().split("\\s+");

   

    if(dataLine.length == 1) {

        GetBalance gb = new GetBalance(unionPay);

            System.out.println(String.format("业务:查询余额 ¥%.2f", gb.getBalance(dataLine[0])));

        }else {

        Withdraw wd = new Withdraw(unionPay,dataLine[0],dataLine[1],dataLine[2],Double.parseDouble(dataLine[3]));

        wd.withdraw();

        }

    }   

    }

}

其实两次作业差不多,第九次增加了一些,只需要在第八次上进行一些改动

三.总结
经过这三次题目集的锻炼进一步加深了我对类的继承、多态性使用方法以及接口的理解,明白对实体类的设计要做到单一职责原则,合成复用原则,才能编写出合格的代码。同时对集合框架有了进一步的认识,但由于其类容较多,想要灵活使用,还要在日后不断学习,反复使用。增强代码的服用性。
 

 

 

 

 

public class Main {    public static void main(String[] args) {    Scanner input = new Scanner(System.in);        UnionPay unionPay = new UnionPay();           Bank ccb = new Bank("1001","中国建设银行");    Bank icbc = new Bank("1002","中国工商银行");    Bank abc =new Bank("1003","中国农业银行");    unionPay.addBank(ccb);    unionPay.addBank(icbc);    unionPay.addBank(abc);    ATM aTM1 = new ATM("01",ccb);    ATM aTM2 = new ATM("02",ccb);    ATM aTM3 = new ATM("03",ccb);    ATM aTM4 = new ATM("04",ccb);    ATM aTM5 = new ATM("05",icbc);    ATM aTM6 = new ATM("06",icbc);    ATM aTM7 = new ATM("07",abc);    ATM aTM8 = new ATM("08",abc);    ATM aTM9 = new ATM("09",abc);    ATM aTM10 = new ATM("10",abc);    ATM aTM11= new ATM("11",abc);        ccb.addATM(aTM1);    ccb.addATM(aTM2);    ccb.addATM(aTM3);    ccb.addATM(aTM4);    icbc.addATM(aTM5);    icbc.addATM(aTM6);    abc.addATM(aTM7);    abc.addATM(aTM8);    abc.addATM(aTM9);    abc.addATM(aTM10);    abc.addATM(aTM11);        User Yangguo = new User("360101200102122324","杨过","13856223254");    User Guojing = new User("360101200012302552","郭靖","13800021124");    User Zhangwuji = new User("360502199805163221","张无忌","13952110011");    User Weixiaobao = new User("360201200513243326","韦小宝","13025996587");    User zhangsanfeng = new User("360201200513243326","张三丰 ","13025996587");    User linghuchong = new User("360201200513243326","令狐冲","13025996587");    User qiaofeng = new User("360201200513243326","乔峰","13025996587");    User hongqigong = new User("360201200513243326","洪七公","13025996587");
        Account ccbAcc1 = new Account("3217000010041315709",10000.00,Yangguo,ccb);    Account ccbAcc2 = new Account("3217000010041315715",10000.00,Yangguo,ccb);    Account ccbAcc3 = new Account("3217000010051320007",10000.00,Guojing,ccb);    Account icbcAcc1 = new Account("3222081502001312389",10000.00,Zhangwuji,icbc);    Account icbcAcc2 = new Account("3222081502001312390",10000.00,Zhangwuji,icbc);    Account icbcAcc3 = new Account("3222081502001312399",10000.00,Zhangwuji,icbc);    Account icbcAcc4 = new Account("3222081502051320785",10000.00,Weixiaobao,icbc);    Account icbcAcc5 = new Account("3222081502051320786",10000.00,Weixiaobao,icbc);    Account abcAcc1 = new Account("3640000010045442002",10000.00,zhangsanfeng,abc);    Account abcAcc2 = new Account("3640000010045441009",10000.00,linghuchong,abc);    Account abcAcc3 = new Account("3630000010033431001 ",10000.00,qiaofeng,icbc);    Account abcAcc4 = new Account("3630000010033431008",10000.00,hongqigong,icbc);
        ccb.addAccount(ccbAcc1);    ccb.addAccount(ccbAcc2);    ccb.addAccount(ccbAcc3);    icbc.addAccount(icbcAcc1);    icbc.addAccount(icbcAcc2);    icbc.addAccount(icbcAcc3);    icbc.addAccount(icbcAcc4);    icbc.addAccount(icbcAcc5);    abc.addAccount(abcAcc1);    abc.addAccount(abcAcc2);    abc.addAccount(abcAcc3);    abc.addAccount(abcAcc4);
        Yangguo.addAccount(ccbAcc1);    Yangguo.addAccount(ccbAcc2);    Guojing.addAccount(ccbAcc3);    Zhangwuji.addAccount(icbcAcc1);    Zhangwuji.addAccount(icbcAcc2);    Zhangwuji.addAccount(icbcAcc3);    Weixiaobao.addAccount(icbcAcc4);    zhangsanfeng.addAccount(abcAcc1);    linghuchong.addAccount(abcAcc2);    qiaofeng.addAccount(abcAcc3);    hongqigong.addAccount(abcAcc4);
    Card ccbCard1 = new Card("6217000010041315709","88888888",ccbAcc1);    Card ccbCard2 = new Card("6217000010041315715","88888888",ccbAcc1);    Card ccbCard3 = new Card("6217000010041315718","88888888",ccbAcc2);    Card ccbCard4 = new Card("6217000010051320007","88888888",ccbAcc3);    Card icbcCard5 = new Card("6222081502001312389","88888888",icbcAcc1);    Card icbcCard6 = new Card("6222081502001312390","88888888",icbcAcc2);    Card icbcCard7 = new Card("6222081502001312399","88888888",icbcAcc3);    Card icbcCard8 = new Card("6222081502001312400","88888888",icbcAcc3);    Card icbcCard9 = new Card("6222081502051320785","88888888",icbcAcc4);    Card icbcCard10 = new Card("6222081502051320786","88888888",icbcAcc5);    Card icbcCard11 = new Card("6640000010045442002","88888888",abcAcc1);    Card icbcCard12 = new Card("6640000010045442003","88888888",abcAcc1);    Card icbcCard13 = new Card("6640000010045441009","88888888",abcAcc2);    Card icbcCard14 = new Card("6630000010033431001","88888888",abcAcc3);    Card icbcCard15 = new Card("6630000010033431008","88888888",abcAcc4);
    ccbAcc1.addCard(ccbCard1);    ccbAcc1.addCard(ccbCard2);    ccbAcc2.addCard(ccbCard3);    ccbAcc3.addCard(ccbCard4);    icbcAcc1.addCard(icbcCard5);    icbcAcc2.addCard(icbcCard6);    icbcAcc3.addCard(icbcCard7);    icbcAcc3.addCard(icbcCard8);    icbcAcc4.addCard(icbcCard9);    icbcAcc5.addCard(icbcCard10);    abcAcc1.addCard(icbcCard11);    abcAcc1.addCard(icbcCard12);    abcAcc2.addCard(icbcCard13);    abcAcc3.addCard(icbcCard14);    abcAcc4.addCard(icbcCard15);    StringBuilder sb = new StringBuilder();        String data;        while(!((data = input.nextLine()).equals("#"))) {    sb.append(data + "\n");    }            String[] dt = sb.toString().split("\n");    for(int i = 0; i < dt.length; i++) {    String[] dataLine = dt[i].toString().split("\\s+");        if(dataLine.length == 1) {        GetBalance gb = new GetBalance(unionPay);            System.out.println(String.format("业务:查询余额 ¥%.2f", gb.getBalance(dataLine[0])));        }else {        Withdraw wd = new Withdraw(unionPay,dataLine[0],dataLine[1],dataLine[2],Double.parseDouble(dataLine[3]));        wd.withdraw();        }    }       }}

posted @ 2021-06-20 20:53  星野踏望录  阅读(38)  评论(0)    收藏  举报