唐符晓 2021-06-17 10:39 采纳率: 50%
浏览 31
已采纳

实在是不会了又很急,麻烦大佬们提供一下代码,谢谢非常感谢

实验2:

Step1:新建IUnionPay接口,在接口中定义验证密码、取钱和查询余额三个抽象方法。

Step2:新建建设银行取款机ATMCBC类,实现IUnionPay接口(实现接口中的所有抽象方法)

Step3:新建测试类,在测试类中new一个建设银行ATMCBC的对象,代码演示(验证密码、取款、查询余额等功能)

Step4:新建农业银行接口IABC,让IABC继承IUnionPay接口,并在自己的接口中增加充话费的抽象方法。

Step5:新建农业银行取款机ATMABC类,继承建设银行ATMCBC类,同时实现农业银行IABC接口,在类中实现充话费的方法。

Step6:在测试类中新建ATMABC类型的对象,测试该对象是否可以正常使用从ATMCBC继承来的验证密码、取钱和查询余额的方法,然后验证该对象是否可以正常使用自己新增的充话费方法。

Step7:新建IPolice接口,IPolice接口中定义拍照的抽象方法,让ATMCBC类实现IUnionPay和IPolice两个接口。

Step8:在测试类中测试ATMCBC类的对象是否可以正常使用两个接口中的方法(取钱,验证密码,查询余额,拍照)。

  • 写回答

3条回答 默认 最新

  • 王大师王文峰 企业官方账号 2021-06-17 10:56
    关注

    望采纳,谢谢!

    package 银行账户演示;
    //import java.util.*;
    //(1)定义一个账户类,包含用户名、密码、余额等属性、存钱、取钱等方法。
    public class Account {
    	private String user;//用户名
    	private String passcode;//密码
    	private double balance;//余额
    	public Account(String user, String passcode, double balance) {
    		this.user = user;
    		this.passcode = passcode;
    		this.balance = balance;
    	}
    	public String getUser() {
    		return user;
    	}
    	public void setUser(String user) {
    		this.user = user;
    	}
    	public String getPasscode() {
    		return passcode;
    	}
    	public void setPasscode(String passcode) {
    		this.passcode = passcode;
    	}
    	public double getBalance() {
    		return balance;
    	}
    	public void setBalance(double balance) {
    		this.balance = balance;
    	}
    	//存钱
    	public void savemoney(double money)
    	{
    		balance += money;
    		System.out.printf("%s存了%.2f元,账户余额为%.2f元。\n",user,money,balance);
    	}
    	//取钱
    	public void drawmoney(double money)
    	{
    		if( balance - money < 0)
    		{
    			System.out.println("账户余额不足,无法取钱");
    		}
    		else
    		{
    			balance -= money;
    			System.out.printf("%s取了%.2f元,账户余额为%.2f元。\n",user,money,balance);
    		}
    	}
    	public void show(){  
    		//显示账户信息  
    		System.out.printf("user:%s\n",user);  
    		System.out.printf("balance:%.2f\n",balance);  
    		}  
    }
    package 银行账户演示;
     
    import java.util.*;
     
    //(2)定义一个银行类,包含银行名、账户列表等属性,开账户、查账户的功能。账户列表可以使用集合相关的类,如ArrayList,最好同时使用泛型。
    public class Bank {
    	public String BankName;
    	private ArrayList<Account> account;
    	Bank(String bankName){  
    		this.BankName=bankName;  
    		account = new ArrayList<Account>();  
    		}  
    	public Bank(String BankName, ArrayList<Account> account) {
    		this.BankName = BankName;
    		this.account = account;
    	}
    	//开账户
    	public void OpenAccount(String user,String passcode,double money)
    	{
    		account.add(new Account(user,passcode,money));
    	}
    	//查找账户按用户名,若找到,返回该账户,否则,返回null  
    	public Account SeekAccount(String username)
    	{
    		for(Account account : account)
    		{
    			if(username.equals(account.getUser()))
    				return account;
    		}
    		return null;
    	}
    	//显示该用户账户信息
    	public void showAccount(String userName){  
    		Account account = SeekAccount(userName);  
    		if(account == null)  
    		    System.out.println("该账户不存在。");  
    		else  
    		    account.show();  
    		} 
    	//向特定账户存钱  
    	public void saveMoney(String userName,double money){  
    		Account account = SeekAccount(userName); //查找  
    		if(account == null)  
    		    System.out.println("该账户不存在。");  
    		else  
    		    account.savemoney(money);  
    		} 
    	//从特定账户取钱,需验证密码  
    	public void drawMoney(String userName,double money,String password){  
    		Account account = SeekAccount(userName); //查找  
    		if(account==null)  
    		    System.out.println("该账户不存在。");  
    		else 
    		{  
    		    if(password.equals(account.getPasscode())) 
    		    {  
    		        account.drawmoney(money);
    		    }
    		    else 
    		    {  
    		        System.out.println("密码不正确,取钱失败。");  
    		    }  
    		}  
    	}  
     
    }
    package 银行账户演示;
    /*
    做一个简单的银行、账户演示程序。
    (1)定义一个账户类,包含用户名、密码、余额等属性、存钱、取钱等方法。
    (2)定义一个银行类,包含银行名、账户列表等属性,开账户、查账户的功能。账户列表可以使用集合相关的类,如ArrayList,最好同时使用泛型。
    (3)定义一个测试类及main函数,在其中创建一个银行,开设一些账号,模拟存钱、取钱、显示余额等。
    */
    public class Test {
     
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Bank bank = new Bank("中国农业银行");
    		bank.OpenAccount("梅西", "666666", 999999);
    		bank.OpenAccount("梅东", "99999", 10000);
    		bank.OpenAccount("梅方", "222222", 4000);
    		
    		//存钱
    		bank.saveMoney("梅方", 100);
    		
    		//从特定账户取钱,需验证密码  
    		bank.drawMoney("梅方",1000,"222222");
    		
    		//显示账户信息
    		bank.showAccount("梅方");  
     
    		//存钱
    		bank.saveMoney("梅东", 10000);
    		
    		//密码错误,取钱失败的情况  
    		bank.drawMoney("梅东",20000,"222222");
    		
    		//余额不足的情况 
    		bank.drawMoney("梅西",1000000,"666666");  
    	}
     
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 麒麟V10桌面版SP1如何配置bonding
  • ¥15 Marscode IDE 如何预览新建的 HTML 文件
  • ¥15 K8S部署二进制集群过程中calico一直报错
  • ¥15 java python或者任何一种编程语言复刻一个网页
  • ¥20 如何通过代码传输视频到亚马逊平台
  • ¥15 php查询mysql数据库并显示至下拉列表中
  • ¥15 freertos下使用外部中断失效
  • ¥15 输入的char字符转为int类型,不是对应的ascall码,如何才能使之转换为对应ascall码?或者使输入的char字符可以正常与其他字符比较?
  • ¥15 devserver配置完 启动服务 无法访问static上的资源
  • ¥15 解决websocket跟c#客户端通信