• 内部类与异常类:实验1


    class DangerException extends Exception{
    	String s;
    	DangerException(String s){
    		this.s=s;
    	}
    	public void warnMess() {
    		System.out.println(s);
    	}
    }
    class MobileShop{
    	int phones;
    	double phone;
    	InnerPurchaseMoney a,b;
    	MobileShop(double phone, int phones){
    		this.phones = phones;
    		this.phone = phone;
    		this.a = new InnerPurchaseMoney(20000);
    		this.b = new InnerPurchaseMoney(10000);
    	}
    	public int get_phone() {
    		return phones;
    	}
    	public void set_phone(int phones) {
    		this.phones = phones;
    	}
    	class InnerPurchaseMoney{
    		double purchaseMoney,s;
    		InnerPurchaseMoney(double purchaseMoney){
    			s = this.purchaseMoney = purchaseMoney;
    		}
    		public void use_purchase(int phones) throws DangerException{
    			if(phones > MobileShop.this.phones
    			   ||MobileShop.this.phones <= 0) {
    				throw new DangerException("手机库存不足");
    			}
    			purchaseMoney-=phones*MobileShop.this.phone;
    			if(purchaseMoney < 0) {
    				throw new DangerException("余额不足");
    			}
    			MobileShop.this.phones-=phones;
    			System.out.println("用价值"+s+"元的内部购物券购买了"+phones+"部手机");
    		}
    	}
    
    }
    public class test_main {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		MobileShop a = new MobileShop(3333,30);
    		System.out.println("手机专卖店目前有"+a.get_phone()+"部手机");
    		try {
    		a.a.use_purchase(6);
    		a.b.use_purchase(3);
    		}
    		catch(DangerException e){
    			e.warnMess();
    		}
    		finally {
    			System.out.println("手机专卖店目前有"+a.get_phone()+"部手机");
    		}
    	}
    
    }
    

  • 相关阅读:
    伸展树(SplayTree)的实现
    map的访问
    #pragma warning(disable 4786)
    debian sftp/ssh197
    debian 配置静态ip197
    deepin 安装tar.gz197
    npm构建vue项目197
    linux 常用命令197
    application/force-download 不生效197
    reids 安装197
  • 原文地址:https://www.cnblogs.com/WALLACE-S-BOOK/p/9732330.html
Copyright © 2020-2023  润新知