Java实现水电费计费项目

先写这样,后面再看能改成弹窗样式的

PropertyFee.java

抽象父类

public abstract class PropertyFee {
	double unit_price;// unit_price为单价

	abstract double cost(double usage); // 计费方法:usage为用量,
}

WaterCharge.java

水费子类

public class WaterCharge extends PropertyFee {//水费
	double cost(double usage) {//usage为用水量:立方米,unit_price为水价:元/立方米
		if(usage>=0 && usage <=220) {
			unit_price=3.45;
		}
		else if(usage>220 && usage <=360) {
			unit_price=4.83;
		}
		else if(usage>=361) {
			unit_price=5.83;
		}
		return usage*unit_price;
	}
	
}

ElectricityFees.java

电费子类

public class ElectricityFees extends PropertyFee {//电费
	double cost(double usage) {//usage为用电量:度,unit_price为电价:元/度
		if(usage>=0 && usage <=1200) {
			unit_price=0.52;
		}
		else if(usage>1200 && usage <2400) {
			unit_price=0.57;
		}
		else if(usage>=2400) {
			unit_price=0.82;
		}
		return usage*unit_price;
	}
}

GasFee.java

气费子类

public class GasFee extends PropertyFee {// 气费
	double cost(double usage) {//usage为用气量:立方米,unit_price为气体单价:元/立方米
		if (usage >= 0 && usage <= 500) {
			unit_price = 2.26;
		} else if (usage >= 501 && usage <= 660) {
			unit_price = 2.60;
		} else if (usage >= 661) {
			unit_price = 3.12;
		}
		return usage * unit_price;
	}
}

Client.java

用户主类

import java.util.Scanner;

public class Client {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input = new Scanner(System.in);
		System.out.println("输入查询内容的代号:1.水费,2.气费,3.电费");
		while (input.hasNext()) {
			int code_name = input.nextInt();
			if (code_name == 1) {
				System.out.println("输入用水量(立方米)");
				double water_use = input.nextDouble();
				WaterCharge user = new WaterCharge();
				System.out.println("需要缴纳的水费:" + user.cost(water_use) + "元");
			} else if (code_name == 2) {
				System.out.println("输入用气量(立方米)");
				double gas_use = input.nextDouble();
				GasFee user = new GasFee();
				System.out.println("需要缴纳的气费:" + user.cost(gas_use) + "元");
			} else if (code_name == 3) {
				System.out.println("输入用电量(度)");
				double electric_use = input.nextDouble();
				ElectricityFees user = new ElectricityFees();
				System.out.println("需要缴纳的电费:" + user.cost(electric_use) + "元");
			}
			else {
				System.out.println("输入代号有误");
				break;
			}
				
		}
	}

}

运行结果:在这里插入图片描述

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值