【定义一个接口PayAble,包含计算电话话费的方法pay()。在手机类定义中增加计算话费异常,如果话费小于0则抛出异常。】

【问题描述】

定义了一个接口PayAble,包含计算电话话费的方法pay()。在手机类定义中增加计算话费异常,如果话费小于0则抛出异常。
要点提示:1) 自定义一个异常类,表示话费小于0的异常;2) 计算话费时如果小于0则抛出异常,在测试类中处理异常。

【输入形式】无
【输出形式】话费结果或者异常
【样例输入】10 0.5
【样例输出】

Fee=5.0

【样例输入】0 0。7
【样例输出】

Exception isPayException: Fee is 0!
Fee=0.0

import java.util.Scanner;
public class Test{
	public static void main(String [] args){
		Scanner sc = new Scanner(System.in);
		int times = sc.nextInt();
		double price = sc.nextDouble();
		double pay2 = 0;
		MobilePhone phone1=new MobilePhone("13899999999",times, price);

		try{
			pay2=phone1.pay();
		}
		catch(PayException e)
		{
			System.out.println("Exception is"+e);
		}
		System.out.println("Fee="+pay2);
	}
}

abstract class Phone{
	private String code;
	
    public Phone(String code){
		this.code = code;
	}

	public abstract void display();
}

interface PayAble{
	public double pay()throws PayException;
}

class MobilePhone extends Phone implements PayAble{
	private int time;
	private double price;
   
  public MobilePhone(String code,int time, double price){
		super(code);
		this.time =time;
		this.price = price;
	}
	
	public double pay() throws PayException{
		double p;
		p=time*price;
		if(p<=0){
			throw new PayException("Fee is 0!");
		}
		return p;
	}

	public void display(){
	}

}
class PayException extends Exception{       //此异常要强制处理
    public PayException(String msg)
    {
        super(msg);   //调用父类构造
    }
}



  • 7
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值