面向对象程序设计:ATM机模拟,(附javafx界面设计和无界面设计)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

javafx实现界面设计:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.image.Image;
import javafx.scene.layout.*;
import javafx.scene.paint.*;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.scene.text.TextBuilder;
import javafx.stage.Stage;
import java.util.ArrayList;


public class Main extends Application {
    @Override
    public void start(Stage primaryStage) throws Exception {
        GridPane pane = new GridPane();
        pane.setAlignment(Pos.CENTER);
        pane.setVgap(15);
        pane.setHgap(10);
        Scene scene = new Scene(pane, 400, 400);
        primaryStage.setScene(scene);
        primaryStage.setTitle("ATM");
        Text text = TextBuilder.create().text("ATM机模拟").
                font(Font.font("Tahoma", 30)).build();
        text.setFill(new LinearGradient(0, 0, 1, 2, true, CycleMethod.REPEAT, new
                Stop[]{new Stop(0, Color.AQUA), new Stop(0.5f, Color.RED)}));
        text.setStrokeWidth(1);
        text.setStroke(Color.BLACK);
        pane.add(text, 0, 0, 2, 1);
        primaryStage.show();
        Button qu = new Button("模拟取/存款/转账");
        Button tui = new Button("退出");
        pane.add(qu, 1, 3);
        pane.add(tui, 1, 4);
        primaryStage.setOpacity(0.85);

        //事件驱动

        //取款
        qu.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent event) {
                YingLian yin1 = new withDraw();
                card card1 = new card("6217000010041315709", "88888888");
                card card2 = new card("6217000010041315715", "88888888");
                card card3 = new card("6217000010041315718", "88888888");
                account account1 = new account();
                account1.count.add(card1);
                account1.count.add(card2);
                account1.zhanghu = "3217000010041315709";
                account account2 = new account();
                account2.count.add(card3);
                account2.zhanghu = "3217000010041315715";
                user use1 = new user();
                use1.user.add(account1);
                use1.user.add(account2);
                use1.name = "杨过";
                bank bank1 = new bank();
                bank1.name = "中国建设银行";
                bank1.atmJi.add(1);
                bank1.atmJi.add(2);
                bank1.atmJi.add(3);
                bank1.atmJi.add(4);
                bank1.ren.add(use1);
                bank1.rate = 0.02;
                yin1.ying.add(bank1);
                card card4 = new card("621700001005132007", "88888888");
                account account3 = new account();
                account3.count.add(card4);
                account3.zhanghu = "3217000010051320007";
                user use2 = new user();
                use2.user.add(account3);
                use2.name = "郭靖";
                bank1.ren.add(use2);
                bank bank2 = new bank();
                bank2.name = "中国工商银行";
                bank2.rate = 0.03;
                yin1.ying.add(bank2);
                bank2.atmJi.add(5);
                bank2.atmJi.add(6);
                card card5 = new card("6222081502001312389", "88888888");
                card card6 = new card("6222081502001312390", "88888888");
                card card7 = new card("6222081502001312399", "88888888");
                card card8 = new card("6222081502001312400", "88888888");
                account account4 = new account();
                account4.zhanghu = "3222081502001312389";
                account4.count.add(card5);
                //  account4.money=10000;
                account account5 = new account();
                // account5.money=10000;
                account5.zhanghu = "3222081502001312390";
                account5.count.add(card6);
                account account6 = new account();
                //  account6.money=10000;
                account6.zhanghu = "3222081502001312399";
                account6.count.add(card7);
                account6.count.add(card8);
                user user3 = new user();
                user3.name = "张无忌";
                user3.user.add(account4);
                user3.user.add(account5);
                user3.user.add(account6);
                bank2.ren.add(user3);
                yin1.ying.add(bank2);
                //张无忌的账户
                card card9 = new card("6222081502051320785", "88888888");
                card card10 = new card("6222081502051320786", "88888888");
                account account7 = new account();
                //  account7.money=10000;
                account7.zhanghu = "3222081502051320785";
                account7.count.add(card9);
                account account8 = new account();
                // account8.money=10000;
                account8.zhanghu = "3222081502051320786";
                account8.count.add(card10);
                user user4 = new user();
                user4.name = "韦小宝";
                user4.user.add(account7);
                user4.user.add(account8);
                bank2.ren.add(user4);
                bank2.ren.add(user4);
                //韦小宝的账户
                card ka1 = new card("6640000010045442002", "88888888");
                card ka2 = new card("6640000010045442003", "88888888");
                account zhang1 = new account();
                zhang1.zhanghu = "3640000010045442002";
                zhang1.count.add(ka1);
                zhang1.count.add(ka2);
                zhang1.type = "贷款";
                user user5 = new user();
                user5.name = "张三丰";
                user5.user.add(zhang1);
                bank1.ren.add(user5);
                //张三丰的账户
                card ka3 = new card("6640000010045441009", "88888888");
                card ka4 = new card("6630000010033431001", "88888888");
                account zhang2 = new account();
                account zhang3 = new account();
                zhang2.type = "贷款";
                zhang3.type = "贷款";
                zhang2.zhanghu = "3640000010045441009";
                zhang3.zhanghu = "3630000010033431001";
                zhang2.count.add(ka3);
                zhang3.count.add(ka4);
                user user6 = new user();
                user6.name = "令狐冲";
                user user7 = new user();
                user7.name = "乔峰";
                user6.user.add(zhang2);
                user7.user.add(zhang3);
                bank2.ren.add(user6);
                bank bank3 = new bank();
                bank3.name = "中国农业银行";
                yin1.ying.add(bank3);
                bank3.ren.add(user7);
                bank3.rate = 0.04;
                bank3.atmJi.add(7);
                bank3.atmJi.add(8);
                bank3.atmJi.add(9);
                bank3.atmJi.add(10);
                bank3.atmJi.add(11);

                //令狐冲 乔峰的账户
                card ka5 = new card("6630000010033431008", "88888888");
                account zhang4 = new account();
                zhang4.count.add(ka5);
                zhang4.zhanghu = "3630000010033431008";
                zhang4.type = "贷款";
                user user8 = new user();
                user8.name = "洪七公";
                user8.user.add(zhang4);
                bank3.ren.add(user8);

                ///
                GridPane pane1 = new GridPane();
                pane1.setPadding(new Insets(80, 15, 15, 15));
                pane1.setHgap(15);
                pane1.setVgap(15);
                // pane1.setBackground(new Background(new BackgroundFill(new ImagePattern(new Image)));
                Scene scene1 = new Scene(pane1, 400, 480);
                primaryStage.setTitle("存取款/转账");
                primaryStage.setScene(scene1);
                //BorderPane shang=new BorderPane();
                Text text1 = TextBuilder.create().text("银行:").
                        font(Font.font("Tahoma", 20)).build();
                text1.setFill(new LinearGradient(0, 0, 1, 2, true, CycleMethod.REPEAT, new
                        Stop[]{new Stop(0, Color.AQUA), new Stop(0.5f, Color.RED)}));
                text1.setStrokeWidth(1);
                text1.setStroke(Color.BLACK);

                Text text2 = new Text("卡号:");
                text2.setFont(Font.font("黑体", FontWeight.EXTRA_BOLD, 20));
                pane1.add(text1, 0, 0);
                String[] choices = {
                        "中国建设银行",
                        "中国工商银行",
                        "中国农业银行",
                };
                ComboBox<String> xuanze = new ComboBox<>();
                xuanze.setPrefWidth(300);
                xuanze.setValue("支持的银行列表如下:");
                ObservableList<String> item = FXCollections.observableArrayList(choices);
                xuanze.getItems().addAll(choices);

                pane1.add(xuanze, 1, 0);
                pane1.add(text2, 0, 1);
                TextField kahao = new TextField();
                TextField mima = new TextField();
                TextField atm = new TextField();
                TextField jin = new TextField();
                kahao.setPromptText("输入卡号");
                mima.setPromptText("输入密码");
                atm.setPromptText("输入ATM机编号");
                jin.setPromptText("输入金额");
                pane1.add(kahao, 1, 1);
                Text text3 = new Text("密码:");
                text3.setFont(Font.font("黑体", FontWeight.EXTRA_BOLD, 20));
                Text text4 = new Text("ATM机编号:");
                text4.setFont(Font.font("黑体", FontWeight.EXTRA_BOLD, 20));
                Text text5 = new Text("金额:");
                text5.setFont(Font.font("黑体", FontWeight.EXTRA_BOLD, 20));

                pane1.add(text3, 0, 2);
                pane1.add(text4, 0, 3);
                pane1.add(text5, 0, 4);

                pane1.add(mima, 1, 2);
                pane1.add(atm, 1, 3);
                pane1.add(jin, 1, 4);

                Button button = new Button("确定");
                BackgroundFill backgroundFill = new BackgroundFill(Paint.valueOf("#8FBC8F"), new CornerRadii(20), Insets.EMPTY);
                Background background = new Background(backgroundFill);
                button.setBackground(background);

                Button button1 = new Button("重新输入");
                Button button2 = new Button("退出");
                Button button3 = new Button("查询功能");
                Button button4=new Button("转账功能");
                button4.setBackground(background);
                button3.setBackground(background);
                button3.setOnAction(e -> {
                    GridPane pane2 = new GridPane();
                    pane2.setPadding(new Insets(100, 20, 20, 20));
                    pane2.setHgap(30);
                    pane2.setVgap(20);
                    pane2.setAlignment(Pos.CENTER);
                    Scene scene2 = new Scene(pane2, 440, 300);
                    primaryStage.setScene(scene2);
                    Text tex = new Text("卡号:");
                    text2.setFont(Font.font("黑体", FontWeight.EXTRA_BOLD, 20));
                    TextField chaxun = new TextField();
                    chaxun.setPromptText("输入卡号:");
                    pane2.add(tex, 0, 0);
                    pane2.add(chaxun, 1, 0);
                    Button que = new Button("确定");
                    que.setBackground(background);
                    Button clear = new Button("clear");
                    Button chu = new Button("退出");
                    chu.setBackground(background);
                    clear.setBackground(background);
                    pane2.add(que, 0, 1);
                    pane2.add(clear, 1, 1);
                    pane2.add(chu, 2, 1);
                    que.setOnAction(new EventHandler<ActionEvent>() {
                        @Override
                        public void handle(ActionEvent event) {
                            yin1.jianca(chaxun.getText());
                            yin1.Getbalance(chaxun.getText());
                        }
                    });
                    clear.setOnAction(new EventHandler<ActionEvent>() {
                        @Override
                        public void handle(ActionEvent event) {
                            chaxun.clear();
                        }
                    });
                    chu.setOnAction(new EventHandler<ActionEvent>() {
                        @Override
                        public void handle(ActionEvent event) {
                            System.exit(0);
                        }
                    });
                });
                button4.setOnAction(new EventHandler<ActionEvent>() {
                    @Override
                    public void handle(ActionEvent event) {
                        
                        GridPane pane1 = new GridPane();
                        pane1.setPadding(new Insets(80, 15, 15, 15));
                        pane1.setHgap(15);
                        pane1.setVgap(15);
                        // pane1.setBackground(new Background(new BackgroundFill(new ImagePattern(new Image)));
                        Scene scene1 = new Scene(pane1, 400, 450);
                        primaryStage.setTitle("存取款/转账");
                        primaryStage.setScene(scene1);
                        //BorderPane shang=new BorderPane();
                        Text text2 = new Text("卡号:");
                        text2.setFont(Font.font("黑体", FontWeight.EXTRA_BOLD, 20));
                        pane1.add(text2, 0, 1);
                        TextField kahao = new TextField();
                        TextField mima = new TextField();
                        TextField atm = new TextField();
                        TextField jin = new TextField();
                        kahao.setPromptText("输入自己的卡号");
                        mima.setPromptText("输入密码");
                        atm.setPromptText("输入ATM机编号");
                        jin.setPromptText("输入金额");
                        pane1.add(kahao, 1, 1);
                        Text text3 = new Text("密码:");
                        text3.setFont(Font.font("黑体", FontWeight.EXTRA_BOLD, 20));
                        Text text4 = new Text("ATM机编号:");
                        text4.setFont(Font.font("黑体", FontWeight.EXTRA_BOLD, 20));
                        Text text5 = new Text("金额:");
                        text5.setFont(Font.font("黑体", FontWeight.EXTRA_BOLD, 20));

                        pane1.add(text3, 0, 2);
                        pane1.add(text4, 0, 3);
                        pane1.add(text5, 0, 4);

                        pane1.add(mima, 1, 2);
                        pane1.add(atm, 1, 3);
                        pane1.add(jin, 1, 4);

                        Button button = new Button("确定");
                        BackgroundFill backgroundFill = new BackgroundFill(Paint.valueOf("#8FBC8F"), new CornerRadii(20), Insets.EMPTY);
                        Background background = new Background(backgroundFill);
                        button.setBackground(background);
                        Button a=new Button("确定");
                        Text text = new Text("对方的卡号:");
                        text.setFont(Font.font("黑体", FontWeight.EXTRA_BOLD, 20));
                        TextField zhuan=new TextField();
                        zhuan.setPromptText("对方的卡号");
                        pane1.add(zhuan,1,5);
                        pane1.add(text,0,5);
                        pane1.add(a,0,6);
                        Button b=new Button("clear");
                        pane1.add(b,1,6);
                        b.setOnAction(e->{
                            kahao.clear();
                            mima.clear();
                            atm.clear();
                            jin.clear();
                            zhuan.clear();
                        });
                        a.setOnAction(e->{
                            yin1.jianca(kahao.getText());
                            yin1.jianca(zhuan.getText());
                            yin1.jiancamima(mima.getText());
                            yin1.jianAtm(kahao.getText(), Integer.parseInt(atm.getText()));
                            yin1.zhuangzhang(kahao.getText(), Integer.parseInt(atm.getText()), Double.parseDouble(jin.getText()), zhuan.getText());
                             yin1.Getbalance(kahao.getText());
                        });
                    }
                });
                button2.setBackground(background);
                button1.setBackground(background);
                button1.setOnAction(e -> {
                    kahao.clear();
                    mima.clear();
                    atm.clear();
                    jin.clear();
                });
                pane1.add(button, 0, 6);
                pane1.add(button1, 1, 6);
                pane1.add(button2, 0, 7);
                pane1.add(button3, 1, 7);
                pane1.add(button4,0,8);
                ///开始存取款操作
                button2.setOnAction(new EventHandler<ActionEvent>() {
                    @Override
                    public void handle(ActionEvent event) {
                        System.exit(0);
                    }
                });
                button.setOnAction(e -> {
                    yin1.jianca(kahao.getText());
                    yin1.jiancamima(mima.getText());
                    yin1.jianAtm(kahao.getText(), Integer.parseInt(atm.getText()));
                    yin1.jianjin(kahao.getText(), Integer.parseInt(atm.getText()), Double.parseDouble(jin.getText()));
                    yin1.showresult(kahao.getText(), Integer.parseInt(atm.getText()), Double.parseDouble(jin.getText()));
                    yin1.caozuo(kahao.getText(), Integer.parseInt(atm.getText()), Double.parseDouble(jin.getText()));
                });
                primaryStage.setOpacity(0.9);
                primaryStage.show();
            }
        });

        //
        tui.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent event) {
                System.out.println("已安全退出");
                System.exit(0);
            }
        });
    }
}

class card {
    String num;
    String MiMa;

    public card(String num, String miMa) {
        this.num = num;
        MiMa = miMa;
    }
}

class account {
    ArrayList<card> count = new ArrayList<>();
    String type = "wu";
    String zhanghu;
    double money = 10000;
}

class user {
    ArrayList<account> user = new ArrayList<>();
    String name;
}

class bank {
    ArrayList<user> ren = new ArrayList<>();
    ArrayList<Integer> atmJi = new ArrayList<>();
    double rate = 0.0;
    String name;
}

class YingLian {
    ArrayList<bank> ying = new ArrayList<>();

    void jianca(String num) {
    }

    void jianAtm(String num1, int tam) {
    }

    void jiancamima(String num) {
    }

    void jianjin(String num1, int num2, double num) {
    }

    void caozuo(String num1, int num2, double num) {
    }

    void Getbalance(String num1) {
    }

    void showresult(String num1, int num2, double num3) {
    }

    void zhuangzhang(String num1, int num2, double num3, String num4) {
    }
}

class withDraw extends YingLian {
    void jianca(String num1) {
        int tem = 0;
        for (int i = 0; i < super.ying.size(); i++) {
            for (int j = 0; j < super.ying.get(i).ren.size(); j++) {
                for (int k = 0; k < super.ying.get(i).ren.get(j).user.size(); k++) {
                    for (int l = 0; l < super.ying.get(i).ren.get(j).user.get(k).count.size(); l++) {
                        if (super.ying.get(i).ren.get(j).user.get(k).count.get(l).num.equals(num1))
                            tem = 1;
                    }
                }
            }
        }
        if (tem == 0) {
            Alert alert = new Alert(Alert.AlertType.WARNING);
            alert.setHeaderText("出错");
            alert.setContentText("Sorry,this card does not exist.");
            alert.showAndWait();
            System.exit(0);
        }
    }

    void jianAtm(String num1, int num) {
        if (!(num == 1 || num == 2 || num == 3 || num == 4 || num == 5 || num == 6 || num == 7 || num == 8 || num == 9 || num == 10 || num == 11)) {
            Alert alert = new Alert(Alert.AlertType.WARNING);
            alert.setHeaderText("出错");
            alert.setContentText("Sorry,the ATM's id is wrong.");
            alert.showAndWait();
            System.exit(0);
        }
    }

    void jiancamima(String num) {
        if (!(num.equals("88888888"))) {
            Alert alert = new Alert(Alert.AlertType.WARNING);
            alert.setHeaderText("出错");
            alert.setContentText("Sorry,your password is wrong.");
            alert.showAndWait();
            System.exit(0);
        }
    }

    void jianjin(String num1, int num2, double num) {
        int temp = 0;
        double rate = 0.0;
        if (num2 == 1 || num2 == 2 || num2 == 3 || num2 == 4)
            rate = 0.02;
        else if (num2 == 5 || num2 == 6)
            rate = 0.03;
        else
            rate = 0.04;
        for (int i = 0; i < super.ying.size(); i++) {
            for (int j = 0; j < super.ying.get(i).ren.size(); j++) {
                for (int k = 0; k < super.ying.get(i).ren.get(j).user.size(); k++) {
                    for (int l = 0; l < super.ying.get(i).ren.get(j).user.get(k).count.size(); l++) {
                        if (super.ying.get(i).ren.get(j).user.get(k).count.get(l).num.equals(num1)) {
                            if (super.ying.get(i).ren.get(j).user.get(k).type.equals("贷款")) {
                                if (num > super.ying.get(i).ren.get(j).user.get(k).money) {
                                    for (int m = 0; m < super.ying.get(i).atmJi.size(); m++) {
                                        if (num2 == super.ying.get(i).atmJi.get(m))
                                            temp = 1;
                                    }
                                    if (temp == 0) {    //跨行检查余额
                                        if (super.ying.get(i).ren.get(j).user.get(k).money > 0) {
                                            if ((super.ying.get(i).ren.get(j).user.get(k).money - num - (num - super.ying.get(i).ren.get(j).user.get(k).money) * (rate + 0.05) - super.ying.get(i).ren.get(j).user.get(k).money * rate) <= -50000) {
                                                Alert alert = new Alert(Alert.AlertType.WARNING);
                                                alert.setHeaderText("出错");
                                                alert.setContentText("Sorry,your account balance is insufficient.");
                                                alert.showAndWait();
                                                System.exit(0);
                                            }
                                        } else if (super.ying.get(i).ren.get(j).user.get(k).money <= 0) {
                                            if (super.ying.get(i).ren.get(j).user.get(k).money - num - num * (rate + 0.05) < -50000) {
                                                Alert alert = new Alert(Alert.AlertType.WARNING);
                                                alert.setHeaderText("出错");
                                                alert.setContentText("Sorry,your account balance is insufficient.");
                                                alert.showAndWait();
                                                System.exit(0);
                                            }
                                        }

                                    } else if (temp == 1) {
                                        if (super.ying.get(i).ren.get(j).user.get(k).money > 0) {
                                            if (super.ying.get(i).ren.get(j).user.get(k).money - num - (num - super.ying.get(i).ren.get(j).user.get(k).money) * 0.05 <= -50000) {
                                                Alert alert = new Alert(Alert.AlertType.WARNING);
                                                alert.setHeaderText("出错");
                                                alert.setContentText("Sorry,your account balance is insufficient.");
                                                alert.showAndWait();
                                                System.exit(0);
                                            }
                                        } else {
                                            if (super.ying.get(i).ren.get(j).user.get(k).money - num - num * 0.05 <= -50000) {
                                                Alert alert = new Alert(Alert.AlertType.WARNING);
                                                alert.setHeaderText("出错");
                                                alert.setContentText("Sorry,your account balance is insufficient.");
                                                alert.showAndWait();
                                                System.exit(0);
                                            }
                                        }
                                    }
                                }
                            } else if (super.ying.get(i).ren.get(j).user.get(k).type.equals("wu")) {
                                for (int m = 0; m < super.ying.get(i).atmJi.size(); m++) {
                                    if (num2 == super.ying.get(i).atmJi.get(m))
                                        temp = 1;
                                }
                                if (temp == 0) {
                                    if (super.ying.get(i).ren.get(j).user.get(k).money - num - num * rate < 0) {
                                        Alert alert = new Alert(Alert.AlertType.WARNING);
                                        alert.setHeaderText("出错");
                                        alert.setContentText("Sorry,your account balance is insufficient.");
                                        alert.showAndWait();
                                        System.exit(0);
                                    }
                                } else if (temp == 1) {
                                    if (super.ying.get(i).ren.get(j).user.get(k).money - num < 0) {
                                        Alert alert = new Alert(Alert.AlertType.WARNING);
                                        alert.setHeaderText("出错");
                                        alert.setContentText("Sorry,your account balance is insufficient.");
                                        alert.showAndWait();
                                        System.exit(0);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    void caozuo(String num1, int num2, double num) {
        int temp = 0;
        double rate = 0.0;
        if (num2 == 1 || num2 == 2 || num2 == 3 || num2 == 4)
            rate = 0.02;
        else if (num2 == 5 || num2 == 6)
            rate = 0.03;
        else if (num2 == 7 || num2 == 8 || num2 == 9 || num2 == 10 || num2 == 11)
            rate = 0.04;
        for (int i = 0; i < super.ying.size(); i++) {
            for (int j = 0; j < super.ying.get(i).ren.size(); j++) {
                for (int k = 0; k < super.ying.get(i).ren.get(j).user.size(); k++) {
                    for (int l = 0; l < super.ying.get(i).ren.get(j).user.get(k).count.size(); l++) {
                        if (super.ying.get(i).ren.get(j).user.get(k).count.get(l).num.equals(num1)) {
                            //取款情况很复杂
                            if (super.ying.get(i).ren.get(j).user.get(k).type.equals("贷款")) {
                                if (num > super.ying.get(i).ren.get(j).user.get(k).money) {
                                    for (int m = 0; m < super.ying.get(i).atmJi.size(); m++) {
                                        if (num2 == super.ying.get(i).atmJi.get(m)) {
                                            temp = 1;
                                            break;
                                        }
                                    }
                                    if (temp == 0) {
                                        if (super.ying.get(i).ren.get(j).user.get(k).money > 0) {
                                            super.ying.get(i).ren.get(j).user.get(k).money = (super.ying.get(i).ren.get(j).user.get(k).money - num - (num - super.ying.get(i).ren.get(j).user.get(k).money) * (rate + 0.05) - super.ying.get(i).ren.get(j).user.get(k).money * rate);
                                            Alert alert = new Alert(Alert.AlertType.INFORMATION);
                                            alert.setHeaderText("查询结果");
                                            String str = String.format("%.2f", super.ying.get(i).ren.get(j).user.get(k).money);
                                            alert.setContentText("当前余额为:¥" + str);
                                            alert.showAndWait();
                                            return;
                                        } else if (super.ying.get(i).ren.get(j).user.get(k).money <= 0) {
                                            super.ying.get(i).ren.get(j).user.get(k).money = (super.ying.get(i).ren.get(j).user.get(k).money - num - num * (rate + 0.05));
                                            Alert alert = new Alert(Alert.AlertType.INFORMATION);
                                            alert.setHeaderText("查询结果");
                                            String str = String.format("%.2f", super.ying.get(i).ren.get(j).user.get(k).money);
                                            alert.setContentText("当前余额为:¥" + str);
                                            alert.showAndWait();
                                            return;
                                        }
                                    } else if (temp == 1) {
                                        if (super.ying.get(i).ren.get(j).user.get(k).money > 0) {
                                            super.ying.get(i).ren.get(j).user.get(k).money = super.ying.get(i).ren.get(j).user.get(k).money - num - (num - super.ying.get(i).ren.get(j).user.get(k).money) * 0.05;
                                            Alert alert = new Alert(Alert.AlertType.INFORMATION);
                                            alert.setHeaderText("查询结果");
                                            String str = String.format("%.2f", super.ying.get(i).ren.get(j).user.get(k).money);
                                            alert.setContentText("当前余额为:¥" + str);
                                            alert.showAndWait();
                                            return;
                                        } else {
                                            super.ying.get(i).ren.get(j).user.get(k).money = super.ying.get(i).ren.get(j).user.get(k).money - num - num * 0.05;
                                            Alert alert = new Alert(Alert.AlertType.INFORMATION);
                                            alert.setHeaderText("查询结果");
                                            String str = String.format("%.2f", super.ying.get(i).ren.get(j).user.get(k).money);
                                            alert.setContentText("当前余额为:¥" + str);
                                            alert.showAndWait();
                                            return;
                                        }
                                    }
                                }
                                //卡余额不足,用的贷款,利率增加0.05
                                else if (num <= super.ying.get(i).ren.get(j).user.get(k).money) {     //卡余额足够,只是跨行
                                    for (int m = 0; m < super.ying.get(i).atmJi.size(); m++) {
                                        if (num2 == super.ying.get(i).atmJi.get(m)) {
                                            temp = 1;
                                            break;
                                        }
                                    }

                                    if (temp == 0) {
                                        super.ying.get(i).ren.get(j).user.get(k).money = super.ying.get(i).ren.get(j).user.get(k).money - num - num * rate;
                                        Alert alert = new Alert(Alert.AlertType.INFORMATION);
                                        alert.setHeaderText("查询结果");
                                        String str = String.format("%.2f", super.ying.get(i).ren.get(j).user.get(k).money);
                                        alert.setContentText("当前余额为:¥" + str);
                                        alert.showAndWait();
                                        return;
                                    } else if (temp == 1) {
                                        super.ying.get(i).ren.get(j).user.get(k).money = super.ying.get(i).ren.get(j).user.get(k).money - num;
                                        Alert alert = new Alert(Alert.AlertType.INFORMATION);
                                        alert.setHeaderText("查询结果");
                                        String str = String.format("%.2f", super.ying.get(i).ren.get(j).user.get(k).money);
                                        alert.setContentText("当前余额为:¥" + str);
                                        alert.showAndWait();
                                        return;
                                    }
                                }
                            } else if (super.ying.get(i).ren.get(j).user.get(k).type.equals("wu")) {
                                for (int m = 0; m < super.ying.get(i).atmJi.size(); m++) {
                                    if (num2 == super.ying.get(i).atmJi.get(m)) {
                                        temp = 1;
                                        break;
                                    }
                                }
                                if (temp == 0) {
                                    super.ying.get(i).ren.get(j).user.get(k).money = super.ying.get(i).ren.get(j).user.get(k).money - num - num * rate;
                                    Alert alert = new Alert(Alert.AlertType.INFORMATION);
                                    alert.setHeaderText("查询结果");
                                    String str = String.format("%.2f", super.ying.get(i).ren.get(j).user.get(k).money);
                                    alert.setContentText("当前余额为:¥" + str);
                                    alert.showAndWait();
                                    return;
                                } else if (temp == 1) {
                                    super.ying.get(i).ren.get(j).user.get(k).money = super.ying.get(i).ren.get(j).user.get(k).money - num;
                                    Alert alert = new Alert(Alert.AlertType.INFORMATION);
                                    alert.setHeaderText("查询结果");
                                    String str = String.format("%.2f", super.ying.get(i).ren.get(j).user.get(k).money);
                                    alert.setContentText("当前余额为:¥" + str);
                                    alert.showAndWait();
                                    return;
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    void Getbalance(String num1) {
        for (int i = 0; i < super.ying.size(); i++) {
            for (int j = 0; j < super.ying.get(i).ren.size(); j++) {
                for (int k = 0; k < super.ying.get(i).ren.get(j).user.size(); k++) {
                    for (int l = 0; l < super.ying.get(i).ren.get(j).user.get(k).count.size(); l++) {
                        if (super.ying.get(i).ren.get(j).user.get(k).count.get(l).num.equals(num1)) {
                            Alert alert = new Alert(Alert.AlertType.INFORMATION);
                            alert.setHeaderText("查询结果");
                            String str = String.format("%.2f", super.ying.get(i).ren.get(j).user.get(k).money);
                            alert.setContentText("业务 查询金额:¥" + str);
                            alert.showAndWait();
                            return;
                        }
                    }
                }
            }
        }
    }

    void showresult(String num1, int num2, double num3) {
        String name1 = null;
        if (num2 == 1 || num2 == 2 || num2 == 3 || num2 == 4)
            name1 = "中国建设银行";
        else if (num2 == 5 || num2 == 6)
            name1 = "中国工商银行";
        else
            name1 = "中国农业银行";
        for (int i = 0; i < super.ying.size(); i++) {
            for (int j = 0; j < super.ying.get(i).ren.size(); j++) {
                for (int k = 0; k < super.ying.get(i).ren.get(j).user.size(); k++) {
                    for (int l = 0; l < super.ying.get(i).ren.get(j).user.get(k).count.size(); l++) {
                        if (super.ying.get(i).ren.get(j).user.get(k).count.get(l).num.equals(num1)) {
                            if (num2 <= 9) {
                                if (num3 > 0) {
                                    Alert alert = new Alert(Alert.AlertType.INFORMATION);
                                    alert.setHeaderText("操作结果");
                                    String ming = String.format(super.ying.get(i).ren.get(j).name);
                                    String yinming = String.format(name1);
                                    String nummm = String.format("%d", num2);
                                    String str = String.format("%.2f", num3);
                                    alert.setContentText("业务:取款:" + ming + "在" + yinming + "的0" + nummm + "号ATM机上取款¥" + str);
                                    alert.showAndWait();
                                    return;
                                } else if (num3 <= 0) {
                                    Alert alert = new Alert(Alert.AlertType.INFORMATION);
                                    alert.setHeaderText("操作结果");
                                    String ming = String.format(super.ying.get(i).ren.get(j).name);
                                    String yinming = String.format(name1);
                                    String nummm = String.format("%d", num2);
                                    String str = String.format("%.2f", num3);
                                    alert.setContentText("业务:存款:" + ming + "在" + yinming + "的0" + nummm + "号ATM机上取款¥" + str);
                                    alert.showAndWait();
                                    return;
                                }
                            } else if (num2 > 9) {
                                if (num3 > 0) {
                                    Alert alert = new Alert(Alert.AlertType.INFORMATION);
                                    alert.setHeaderText("操作结果");
                                    String ming = String.format(super.ying.get(i).ren.get(j).name);
                                    String yinming = String.format(name1);
                                    String nummm = String.format("%d", num2);
                                    String str = String.format("%.2f", num3);
                                    alert.setContentText("业务:取款:" + ming + "在" + yinming + "的" + nummm + "号ATM机上取款¥" + str);
                                    alert.showAndWait();
                                    return;
                                } else if (num3 <= 0) {
                                    Alert alert = new Alert(Alert.AlertType.INFORMATION);
                                    alert.setHeaderText("操作结果");
                                    String ming = String.format(super.ying.get(i).ren.get(j).name);
                                    String yinming = String.format(name1);
                                    String nummm = String.format("%d", num2);
                                    String str = String.format("%.2f", num3);
                                    alert.setContentText("业务:存款:" + ming + "在" + yinming + "的" + nummm + "号ATM机上取款¥" + str);
                                    alert.showAndWait();
                                    return;
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    void zhuangzhang(String num1, int num2, double num3, String num4) {
        String name1 = null;
        if (num2 == 1 || num2 == 2 || num2 == 3 || num2 == 4)
            name1 = "中国建设银行";
        else if (num2 == 5 || num2 == 6)
            name1 = "中国工商银行";
        else
            name1 = "中国农业银行";
        for (int i = 0; i < super.ying.size(); i++) {
            for (int j = 0; j < super.ying.get(i).ren.size(); j++) {
                for (int k = 0; k < super.ying.get(i).ren.get(j).user.size(); k++) {
                    for (int l = 0; l < super.ying.get(i).ren.get(j).user.get(k).count.size(); l++) {
                        if (super.ying.get(i).ren.get(j).user.get(k).count.get(l).num.equals(num1)) {
                            jianjin(num1, num2, num3);
                            super.ying.get(i).ren.get(j).user.get(k).money -= num3;
                            for (int a = 0; a < super.ying.size(); a++) {
                                for (int b = 0; b < super.ying.get(a).ren.size(); b++) {
                                    for (int c = 0; c < super.ying.get(a).ren.get(b).user.size(); c++) {
                                        for (int d = 0; d < super.ying.get(a).ren.get(b).user.get(c).count.size(); d++) {
                                            if (super.ying.get(a).ren.get(b).user.get(c).count.get(d).num.equals(num4)) {
                                                super.ying.get(a).ren.get(b).user.get(c).money+=num3;
                                                Alert alert = new Alert(Alert.AlertType.INFORMATION);
                                                alert.setHeaderText("转账结果");
                                                String ming = String.format(super.ying.get(i).ren.get(j).name);
                                                String yinming = String.format(name1);
                                                String nummm = String.format("%d", num2);
                                                String str = String.format("%.2f", num3);
                                                String str2=String.format(super.ying.get(a).ren.get(b).name);
                                                String str3=String.format(super.ying.get(a).ren.get(b).user.get(c).zhanghu);
                                                alert.setContentText("业务:转账:" + ming + "在" + yinming + "的" + nummm + "号ATM机上向" +str2+"的"+str3+"转账¥"+str);
                                                alert.showAndWait();
                                                return;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

下面是无界面设计的代码实现,自行取舍:


import java.util.ArrayList;
import java.util.Scanner;

public class Main {
    public static Scanner input = new Scanner(System.in);

    public static void main(String[] args) {
        YingLian yin1 = new withDraw();
        card card1 = new card("6217000010041315709", "88888888");
        card card2 = new card("6217000010041315715", "88888888");
        card card3 = new card("6217000010041315718", "88888888");
        account account1 = new account();
        account1.count.add(card1);
        account1.count.add(card2);
        account1.zhanghu = "3217000010041315709";
        account account2 = new account();
        account2.count.add(card3);
        account2.zhanghu = "3217000010041315715";
        user use1 = new user();
        use1.user.add(account1);
        use1.user.add(account2);
        use1.name = "杨过";
        bank bank1 = new bank();
        bank1.name = "中国建设银行";
        bank1.atmJi.add(1);
        bank1.atmJi.add(2);
        bank1.atmJi.add(3);
        bank1.atmJi.add(4);
        bank1.ren.add(use1);
        bank1.rate = 0.02;
        yin1.ying.add(bank1);
        card card4 = new card("621700001005132007", "88888888");
        account account3 = new account();
        account3.count.add(card4);
        account3.zhanghu = "3217000010051320007";
        user use2 = new user();
        use2.user.add(account3);
        use2.name = "郭靖";
        bank1.ren.add(use2);
        bank bank2 = new bank();
        bank2.name = "中国工商银行";
        bank2.rate = 0.03;
        yin1.ying.add(bank2);
        bank2.atmJi.add(5);
        bank2.atmJi.add(6);
        card card5 = new card("6222081502001312389", "88888888");
        card card6 = new card("6222081502001312390", "88888888");
        card card7 = new card("6222081502001312399", "88888888");
        card card8 = new card("6222081502001312400", "88888888");
        account account4 = new account();
        account4.zhanghu = "3222081502001312389";
        account4.count.add(card5);
        //  account4.money=10000;
        account account5 = new account();
        // account5.money=10000;
        account5.zhanghu = "3222081502001312390";
        account5.count.add(card6);
        account account6 = new account();
        //  account6.money=10000;
        account6.zhanghu = "3222081502001312399";
        account6.count.add(card7);
        account6.count.add(card8);
        user user3 = new user();
        user3.name = "张无忌";
        user3.user.add(account4);
        user3.user.add(account5);
        user3.user.add(account6);
        bank2.ren.add(user3);
        yin1.ying.add(bank2);
        //张无忌的账户
        card card9 = new card("6222081502051320785", "88888888");
        card card10 = new card("6222081502051320786", "88888888");
        account account7 = new account();
        //  account7.money=10000;
        account7.zhanghu = "3222081502051320785";
        account7.count.add(card9);
        account account8 = new account();
        // account8.money=10000;
        account8.zhanghu = "3222081502051320786";
        account8.count.add(card10);
        user user4 = new user();
        user4.name = "韦小宝";
        user4.user.add(account7);
        user4.user.add(account8);
        bank2.ren.add(user4);
        bank2.ren.add(user4);
        //韦小宝的账户
        card ka1 = new card("6640000010045442002", "88888888");
        card ka2 = new card("6640000010045442003", "88888888");
        account zhang1 = new account();
        zhang1.zhanghu = "3640000010045442002";
        zhang1.count.add(ka1);
        zhang1.count.add(ka2);
        zhang1.type = "贷款";
        user user5 = new user();
        user5.name = "张三丰";
        user5.user.add(zhang1);
        bank1.ren.add(user5);
        //张三丰的账户
        card ka3 = new card("6640000010045441009", "88888888");
        card ka4 = new card("6630000010033431001", "88888888");
        account zhang2 = new account();
        account zhang3 = new account();
        zhang2.type = "贷款";
        zhang3.type = "贷款";
        zhang2.zhanghu = "3640000010045441009";
        zhang3.zhanghu = "3630000010033431001";
        zhang2.count.add(ka3);
        zhang3.count.add(ka4);
        user user6 = new user();
        user6.name = "令狐冲";
        user user7 = new user();
        user7.name = "乔峰";
        user6.user.add(zhang2);
        user7.user.add(zhang3);
        bank2.ren.add(user6);
        bank bank3 = new bank();
        bank3.name = "中国农业银行";
        yin1.ying.add(bank3);
        bank3.ren.add(user7);
        bank3.rate = 0.04;
        bank3.atmJi.add(7);
        bank3.atmJi.add(8);
        bank3.atmJi.add(9);
        bank3.atmJi.add(10);
        bank3.atmJi.add(11);

        //令狐冲 乔峰的账户
        card ka5 = new card("6630000010033431008", "88888888");
        account zhang4 = new account();
        zhang4.count.add(ka5);
        zhang4.zhanghu = "3630000010033431008";
        zhang4.type = "贷款";
        user user8 = new user();
        user8.name = "洪七公";
        user8.user.add(zhang4);
        bank3.ren.add(user8);
        //洪七公的账户
        //System.out.println(bank3.ren.get(1).user.get(0).money);
        String in = input.nextLine();
        while (!(in.equals("#"))) {
            String[] arr = in.split("\\s+");
            if (arr.length == 1) {
                yin1.jianca(arr[0]);
                yin1.Getbalance(arr[0]);
            } else {
                yin1.jianca(arr[0]);
                yin1.jiancamima(arr[1]);
                yin1.jianAtm(arr[0], Integer.parseInt(arr[2]));
                yin1.jianjin(arr[0], Integer.parseInt(arr[1]), Double.parseDouble(arr[3]));
                yin1.showresult(arr[0], Integer.parseInt(arr[2]), Double.parseDouble(arr[3]));
                yin1.caozuo(arr[0], Integer.parseInt(arr[2]), Double.parseDouble(arr[3]));
            }
            in = input.nextLine();
        }
        System.exit(0);
    }
}

class card {
    String num;
    String MiMa;

    public card(String num, String miMa) {
        this.num = num;
        MiMa = miMa;
    }
}

class account {
    ArrayList<card> count = new ArrayList<>();
    String type = "wu";
    String zhanghu;
    double money = 10000;
}

class user {
    ArrayList<account> user = new ArrayList<>();
    String name;
}

class bank {
    ArrayList<user> ren = new ArrayList<>();
    ArrayList<Integer> atmJi = new ArrayList<>();
    double rate = 0.0;
    String name;
}

class YingLian {
    ArrayList<bank> ying = new ArrayList<>();

    void jianca(String num) {
    }

    void jianAtm(String num1, int tam) {
    }

    void jiancamima(String num) {
    }

    void jianjin(String num1, int num2, double num) {
    }

    void jiancakuahang(String num1, int num) {
    }

    void caozuo(String num1, int num2, double num) {
    }

    void Getbalance(String num1) {
    }

    void showresult(String num1, int num2, double num3) {
    }
}

class withDraw extends YingLian {
    void jianca(String num1) {
        int tem = 0;
        for (int i = 0; i < super.ying.size(); i++) {
            for (int j = 0; j < super.ying.get(i).ren.size(); j++) {
                for (int k = 0; k < super.ying.get(i).ren.get(j).user.size(); k++) {
                    for (int l = 0; l < super.ying.get(i).ren.get(j).user.get(k).count.size(); l++) {
                        if (super.ying.get(i).ren.get(j).user.get(k).count.get(l).num.equals(num1))
                            tem = 1;
                    }
                }
            }
        }
        if (tem == 0) {
            System.out.println("Sorry,this card does not exist.");
            System.exit(0);
        }
    }

    void jianAtm(String num1, int num) {
        if (!(num == 1 || num == 2 || num == 3 || num == 4 || num == 5 || num == 6 || num == 7 || num == 8 || num == 9 || num == 10 || num == 11)) {
            System.out.println("Sorry,the ATM's id is wrong.");
            System.exit(0);

        }
    }

    void jiancamima(String num) {
        if (!(num.equals("88888888"))) {
            System.out.println("Sorry,your password is wrong.");
            System.exit(0);
        }
    }

    void jianjin(String num1, int num2, double num) {
        int temp = 0;
        double rate = 0.0;
        if (num2 == 1 || num2 == 2 || num2 == 3 || num2 == 4)
            rate = 0.02;
        else if (num2 == 5 || num2 == 6)
            rate = 0.03;
        else
            rate = 0.04;
        for (int i = 0; i < super.ying.size(); i++) {
            for (int j = 0; j < super.ying.get(i).ren.size(); j++) {
                for (int k = 0; k < super.ying.get(i).ren.get(j).user.size(); k++) {
                    for (int l = 0; l < super.ying.get(i).ren.get(j).user.get(k).count.size(); l++) {
                        if (super.ying.get(i).ren.get(j).user.get(k).count.get(l).num.equals(num1)) {
                            if (super.ying.get(i).ren.get(j).user.get(k).type.equals("贷款")) {
                                if (num > super.ying.get(i).ren.get(j).user.get(k).money) {
                                    for (int m = 0; m < super.ying.get(i).atmJi.size(); m++) {
                                        if (num2 == super.ying.get(i).atmJi.get(m))
                                            temp = 1;
                                    }
                                    if (temp == 0) {    //跨行检查余额
                                        if (super.ying.get(i).ren.get(j).user.get(k).money > 0) {
                                            if ((super.ying.get(i).ren.get(j).user.get(k).money - num - (num - super.ying.get(i).ren.get(j).user.get(k).money) * (rate + 0.05) - super.ying.get(i).ren.get(j).user.get(k).money * rate) <= -50000) {
                                                System.out.println("Sorry,your account balance is insufficient.");
                                                System.exit(0);
                                            }
                                        } else if (super.ying.get(i).ren.get(j).user.get(k).money <= 0) {
                                            if (super.ying.get(i).ren.get(j).user.get(k).money - num - num * (rate + 0.05) < -50000) {
                                                System.out.println("Sorry,your account balance is insufficient.");
                                                System.exit(0);
                                            }
                                        }

                                    } else if (temp == 1) {
                                        if (super.ying.get(i).ren.get(j).user.get(k).money > 0) {
                                            if (super.ying.get(i).ren.get(j).user.get(k).money - num - (num - super.ying.get(i).ren.get(j).user.get(k).money) * 0.05 <= -50000) {
                                                System.out.println("Sorry,your account balance is insufficient.");
                                                System.exit(0);
                                            }
                                        } else {
                                            if (super.ying.get(i).ren.get(j).user.get(k).money - num - num * 0.05 <= -50000) {
                                                System.out.println("Sorry,your account balance is insufficient.");
                                                System.exit(0);
                                            }
                                        }
                                    }
                                }
                            } else if (super.ying.get(i).ren.get(j).user.get(k).type.equals("wu")) {
                                for (int m = 0; m < super.ying.get(i).atmJi.size(); m++) {
                                    if (num2 == super.ying.get(i).atmJi.get(m))
                                        temp = 1;
                                }
                                if (temp == 0) {
                                    if (super.ying.get(i).ren.get(j).user.get(k).money - num - num * rate < 0) {
                                        System.out.println("Sorry,your account balance is insufficient.");
                                        System.exit(0);
                                    }
                                } else if (temp == 1) {
                                    if (super.ying.get(i).ren.get(j).user.get(k).money - num < 0) {
                                        System.out.println("Sorry,your account balance is insufficient.");
                                        System.exit(0);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    void caozuo(String num1, int num2, double num) {
        int temp = 0;
        double rate = 0.0;
        if (num2 == 1 || num2 == 2 || num2 == 3 || num2 == 4)
            rate = 0.02;
        else if (num2 == 5 || num2 == 6)
            rate = 0.03;
        else if (num2 == 7 || num2 == 8 || num2 == 9 || num2 == 10 || num2 == 11)
            rate = 0.04;
        for (int i = 0; i < super.ying.size(); i++) {
            for (int j = 0; j < super.ying.get(i).ren.size(); j++) {
                for (int k = 0; k < super.ying.get(i).ren.get(j).user.size(); k++) {
                    for (int l = 0; l < super.ying.get(i).ren.get(j).user.get(k).count.size(); l++) {
                        if (super.ying.get(i).ren.get(j).user.get(k).count.get(l).num.equals(num1)) {
                            //取款情况很复杂
                            if (super.ying.get(i).ren.get(j).user.get(k).type.equals("贷款")) {
                                if (num > super.ying.get(i).ren.get(j).user.get(k).money) {
                                    for (int m = 0; m < super.ying.get(i).atmJi.size(); m++) {
                                        if (num2 == super.ying.get(i).atmJi.get(m)) {
                                            temp = 1;
                                            break;
                                        }
                                    }
                                    if (temp == 0) {
                                        if (super.ying.get(i).ren.get(j).user.get(k).money > 0) {
                                            super.ying.get(i).ren.get(j).user.get(k).money = (super.ying.get(i).ren.get(j).user.get(k).money - num - (num - super.ying.get(i).ren.get(j).user.get(k).money) * (rate + 0.05) - super.ying.get(i).ren.get(j).user.get(k).money * rate);
                                            System.out.printf("当前余额为¥%.2f\n", super.ying.get(i).ren.get(j).user.get(k).money);
                                            return;
                                        } else if (super.ying.get(i).ren.get(j).user.get(k).money <= 0) {
                                            super.ying.get(i).ren.get(j).user.get(k).money = (super.ying.get(i).ren.get(j).user.get(k).money - num - num * (rate + 0.05));
                                            System.out.printf("当前余额为¥%.2f\n", super.ying.get(i).ren.get(j).user.get(k).money);
                                            return;
                                        }
                                    } else if (temp == 1) {
                                        if (super.ying.get(i).ren.get(j).user.get(k).money > 0) {
                                            super.ying.get(i).ren.get(j).user.get(k).money = super.ying.get(i).ren.get(j).user.get(k).money - num - (num - super.ying.get(i).ren.get(j).user.get(k).money) * 0.05;
                                            System.out.printf("当前余额为¥%.2f\n", super.ying.get(i).ren.get(j).user.get(k).money);
                                            return;
                                        }
                                        else
                                        {
                                            super.ying.get(i).ren.get(j).user.get(k).money=super.ying.get(i).ren.get(j).user.get(k).money - num-num*0.05;
                                            System.out.printf("当前余额为¥%.2f\n", super.ying.get(i).ren.get(j).user.get(k).money);
                                            return;
                                        }
                                    }
                                }
                                //卡余额不足,用的贷款,利率增加0.05
                                else if (num <= super.ying.get(i).ren.get(j).user.get(k).money) {     //卡余额足够,只是跨行
                                    for (int m = 0; m < super.ying.get(i).atmJi.size(); m++) {
                                        if (num2 == super.ying.get(i).atmJi.get(m)) {
                                            temp = 1;
                                            break;
                                        }
                                    }

                                    if (temp == 0) {
                                        super.ying.get(i).ren.get(j).user.get(k).money = super.ying.get(i).ren.get(j).user.get(k).money - num - num * rate;
                                        System.out.printf("当前余额为¥%.2f\n", super.ying.get(i).ren.get(j).user.get(k).money);
return;
                                    } else if (temp == 1) {
                                        super.ying.get(i).ren.get(j).user.get(k).money = super.ying.get(i).ren.get(j).user.get(k).money - num;
                                        System.out.printf("当前余额为¥%.2f\n", super.ying.get(i).ren.get(j).user.get(k).money);
                                        return;
                                    }
                                }
                            } else if (super.ying.get(i).ren.get(j).user.get(k).type.equals("wu")) {
                                for (int m = 0; m < super.ying.get(i).atmJi.size(); m++) {
                                    if (num2 == super.ying.get(i).atmJi.get(m)) {
                                        temp = 1;
                                        break;
                                    }
                                }
                                if (temp == 0) {
                                    super.ying.get(i).ren.get(j).user.get(k).money = super.ying.get(i).ren.get(j).user.get(k).money - num - num * rate;
                                    System.out.printf("当前余额为¥%.2f\n", super.ying.get(i).ren.get(j).user.get(k).money);
                                    return;
                                } else if (temp == 1) {
                                    super.ying.get(i).ren.get(j).user.get(k).money = super.ying.get(i).ren.get(j).user.get(k).money - num;
                                    System.out.printf("当前余额为¥%.2f\n", super.ying.get(i).ren.get(j).user.get(k).money);
                                    return;
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    void Getbalance(String num1) {
        for (int i = 0; i < super.ying.size(); i++) {
            for (int j = 0; j < super.ying.get(i).ren.size(); j++) {
                for (int k = 0; k < super.ying.get(i).ren.get(j).user.size(); k++) {
                    for (int l = 0; l < super.ying.get(i).ren.get(j).user.get(k).count.size(); l++) {
                        if (super.ying.get(i).ren.get(j).user.get(k).count.get(l).num.equals(num1)) {
                            System.out.printf("业务:查询余额 ¥%.2f\n", super.ying.get(i).ren.get(j).user.get(k).money);
                            return;
                        }
                    }
                }
            }
        }
    }

    void showresult(String num1, int num2, double num3) {
        String name1 = null;
        if (num2 == 1 || num2 == 2 || num2 == 3 || num2 == 4)
            name1 = "中国建设银行";
        else if (num2 == 5 || num2 == 6)
            name1 = "中国工商银行";
        else
            name1 = "中国农业银行";
        for (int i = 0; i < super.ying.size(); i++) {
            for (int j = 0; j < super.ying.get(i).ren.size(); j++) {
                for (int k = 0; k < super.ying.get(i).ren.get(j).user.size(); k++) {
                    for (int l = 0; l < super.ying.get(i).ren.get(j).user.get(k).count.size(); l++) {
                        if (super.ying.get(i).ren.get(j).user.get(k).count.get(l).num.equals(num1)) {
                            if (num2 <= 9) {
                                if (num3 > 0) {
                                    System.out.println("业务:取款 " + super.ying.get(i).ren.get(j).name + "在" + name1 + "的0" + num2 + "号ATM机上取款¥" + String.format("%.2f", num3));
                                    return;
                                } else if (num3 <= 0) {
                                    System.out.println("业务:存款 " + super.ying.get(i).ren.get(j).name + "在" + name1 + "的0" + num2 + "号ATM机上存款¥" + String.format("%.2f", -1 * num3));
                                    return;
                                }
                            } else if (num2 > 9) {
                                if (num3 > 0) {
                                    System.out.println("业务:取款 " + super.ying.get(i).ren.get(j).name + "在" + name1 + "的" + num2 + "号ATM机上取款¥" + String.format("%.2f", num3));
                                    return;
                                } else if (num3 <= 0) {
                                    System.out.println("业务:存款 " + super.ying.get(i).ren.get(j).name + "在" + name1 + "的" + num2 + "号ATM机上存款¥" + String.format("%.2f", -1 * num3));
                                    return;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江景.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值