Java-石头剪刀布,银行管理系统

猜拳游戏

/**
 * @ClassName TestDemo1
 * @Description 石头剪刀布
 * @Author LiMingXu
 * @Date 2018/11/5 0:44
 * @Version 1.0
 **/
public class TestDemo1 {
    public static class People{
        private String name;
        private int score;
        public People(){

        }
        public People(String name){
            score = 0;
            this.name = name;
        }
        public String fist(){
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入:石头 剪刀 布");
            String str = scanner.next();
            return str;
        }
        public void addScore(){
            score += 1;
        }
        public int getScore(){
            return score;
        }
        public String getName(){
            return name;
        }
    }
    ///
    static class Computer {
        private String name;
        private int score;

        public Computer(String name) {
            score = 0;
            this.name = name;
        }

        public String fist() {
            Random random = new Random(3);
            int n = random.nextInt() + 1;//[1,3]
            String str = null;
            switch (n) {
                case 1:
                    System.out.print(name + "出石头");str = "石头";break;
                case 2:
                    System.out.print(name + "对方出剪刀");str = "剪刀";
                    break;
                case 3:
                    System.out.print(name + "对方出布");str = "布";
                    break;
            }
            return str;
        }

        public void addScore() {
            score += 1;
        }

        public int getScore() {
            return score;
        }

        public String getName(){
            return name;
        }
    }
    public static class Game{
        private People people;
        private Computer computer;
        private Game(){
            People  people= new People("Tyone");
            Computer  computer= new Computer("Alpha");
        }
        public Game(People people,Computer computer){
            this.computer=computer;
            this.people=people;
        }
        private void playThreeTime(){
            int count = 0;
            while(count < 3){
                String pFist = people.fist();
                String cFist = computer.fist();
                if(pFist.equals("石头") && cFist.equals("剪刀") || pFist.equals("剪刀") && cFist.equals("布")||pFist.equals("布") && cFist.equals("石头")){
                    System.out.println(people.getName() + "本局获胜");
                    people.addScore();
                }else if(pFist.equals(cFist)){
                    System.out.println("平局!");
                }else{
                    System.out.println(computer.getName() + "本局获胜");
                    computer.addScore();
                }
                count ++;
            }
        }
        private void getResult(){
            int pScore = people.getScore();
            int cScore = computer.getScore();
            if(pScore > cScore){
                System.out.println(people.getName()+ "最终结果赢了");
            }else if(pScore == cScore) {
                System.out.println("平局");
            }else{
                System.out.println(computer.getName() + "最终结果赢了");
            }
            System.out.println(people.getName()+":"+computer.getName()+"="+people.getScore()+":"+computer.getScore);
        }
        public void start(){
            while(true){
                playThreeTime();
                getResult();
                System.out.println("是否继续?");
                Scanner scanner = new Scanner(System.in);
                String str = scanner.next();
                if(str.equals("是")){
                    continue;
                }else{
                    break;
                }
            }
        }
    }
    public static void main(String[] args) {
        People people= new People("Tyone");
        Computer computer = new Computer("Alpha");
        Game game = new Game(people,computer);
        game.start();
    }
}

银行管理系统

/**
 * @ClassName ATM
 * @Description 银行管理系统
 * @Author LiMingXu
 * @Date 2019/4/3 19:49
 * @Version 1.0
 **/
public class ATM {
    private Bank bankGS;
    private Bank bankNH;

    public ATM(){
        bankGS = new Bank();
        bankNH = new Bank();
    }

    private BankCard searchCard(Bank bank,int id,int passwd){
        BankCard[] arr = bank.getCards();
        for(int i=0;i<bank.getSize();i++){
            if(arr[i].getId() == id && arr[i].getPasswd() == passwd){
                return arr[i];
            }
        }
        return null;
    }
    private BankCard login(String bankName,int id,int passwd){
        if(bankName.equals("农业银行")) {
            return searchCard(bankNH,id, passwd);
        }else if(bankName.equals("工商银行")){
            return searchCard(bankGS,id,passwd);
        }
        return null;
    }
    public void operator(){
        while (true) {
            System.out.println("1.登陆  2.注册  3.退出");
            Scanner scanner = new Scanner(System.in);
            int chioce = scanner.nextInt();
            if (chioce == 3) {
                return;
            }
            System.out.println("请输入银行名:农业银行or工商银行");
            String bankName = scanner.next();
            System.out.println("请输入账号:");
            int id = scanner.nextInt();
            System.out.println("请输入密码:");
            int passwd = scanner.nextInt();
            switch (chioce) {
                case 1:
                    BankCard successCard = login(bankName,id, passwd);
                    if (successCard != null) {
                        loginSuccessOperator(successCard);
                    } else {
                        System.out.println("登陆失败");
                    }
                    break;
                case 2:
                    BankCard card = register(bankName,id, passwd);
                    if(card != null){
                        System.out.println("注册成功");
                    }else{
                        System.out.println("注册失败");
                    }
                    break;
            }
        }
    }
    private void loginSuccessOperator(BankCard card){
        while(true) {
            System.out.println("1.存钱 2.取钱 3.转账 4.查余额 5.退卡");
            Scanner scanner = new Scanner(System.in);
            int chioce = scanner.nextInt();
            if (chioce == 5) {
                return;
            }
            switch (chioce) {
                case 1:
                    System.out.println("输入存款金额:");
                    int money = scanner.nextInt();
                    card.saveMoney(money);
                    break;
                case 2:
                    System.out.println("输入取款金额:");
                    money = scanner.nextInt();
                    card.withdraw(money);
                    break;
                case 3:
                    transfer(card);
                    break;
                case 4:
                    System.out.println("当前余额:" + card.getMoney());
                    break;
            }
        }
    }
    private void transfer(BankCard card){
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入转账银行名:");
        String bankName = scanner.next();
        System.out.println("请输入转账用户id:");
        int id = scanner.nextInt();
        if(bankName.equals("农业银行")){
            BankCard[] arr = bankNH.getCards();
            for (int i = 0; i < bankNH.getSize(); i++) {
                if (arr[i].getId() == id) {
                    System.out.println("转账金额:");
                    int money = scanner.nextInt();
                    if (money <= card.getMoney()) {
                        card.withdraw(money);
                        arr[i].saveMoney(money);
                    } else {
                        System.out.println("转账失败");
                    }
                }
            }
        }
        if(bankName.equals("工商银行")){
            BankCard[] arr = bankGS.getCards();
            for (int i = 0; i < bankGS.getSize(); i++) {
                if (arr[i].getId() == id) {
                    System.out.println("转账金额:");
                    int money = scanner.nextInt();
                    if (money <= card.getMoney()) {
                        card.withdraw(money);
                        arr[i].saveMoney(money);
                    } else {
                        System.out.println("转账失败");
                    }
                }
            }
        }
    }
    private BankCard register(String bankName,int id,int passwd){
        //是否之前存在这张卡
        BankCard card = new BankCard(id,passwd);
        if(bankName.equals("农业银行")) {
            BankCard searchCard = searchCard(bankNH, id, passwd);
            if (searchCard != null) {
                System.out.println("注册失败");
                return null;
            }
            bankNH.add(card);
        }
        if(bankName.equals("工商银行")){
            BankCard searchCard = searchCard(bankGS, id, passwd);
            if (searchCard != null) {
                System.out.println("注册失败");
                return null;
            }
            bankGS.add(card);
        }
        return card;
    }
}
public class Bank {
    private BankCard[]cards;
    private int size;
    private final int INITCAPACITY;
    public Bank(){
        cards = new BankCard[10];
        size = 0;
        INITCAPACITY = 10;
    }
    public BankCard[] getCards(){

        return cards;
    }
    private void ensureCapacity(int capacity){
        if(capacity == cards.length){
            cards = Arrays.copyOf(cards,cards.length+(cards.length>>1));
        }
    }
    public void add(BankCard card){
        ensureCapacity(size);
        cards[size] = card;
        size++;
    }
    public int getSize(){
        return size;
    }
public class BankCard {
    private int id;
    private int passwd;
    private int money;
    public BankCard(int id,int passwd){
        this.id =id;
        this.passwd = passwd;
        this.money = 0;
    }

    public int getId() {
        return id;
    }
    public int getPasswd() {
        return passwd;
    }
    public void saveMoney(int money){
        this.money+=money;
    }
    public void withdraw(int money){
        if(this.money >= money) {
            this.money -= money;
        }else{
            System.out.println("取钱失败");
        }
    }
    public int getMoney() {
        return money;
    }
}
public class TestDemo {
    public static void main(String[] args) {
        ATM atm = new ATM();
        atm.operator();
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值