博客
关于我
Java实验6 -- 公司支出的总薪水
阅读量:507 次
发布时间:2019-03-07

本文共 3009 字,大约阅读时间需要 10 分钟。

前言

  • 时间:2020.6.8
  • 备注:实验6是这学期最后一个实验,这个任务是老师刚布置就做完了,所以一直忘了传,回顾一下好像主要是拿来新学巩固基础的。兜兜最近忙起来就特别不想做反馈,最近都是杂事很少写java代码,再加上现在这些题第一反应不是百度而是自己琢磨了(看在这份上夸一夸),所以也是几万年没来博客记录了呢…看到涨粉了好激动,速度更!!然后这些都是自己整的,不保证是最好的思路,大家看到有问题的部分可以评论哦!!

题目

在这里插入图片描述

实现思路

  • 第一步,把各个类的框架实现起来。首先是测试类Main类;然后是主要的Company类(和基类关联);以及抽象基类Employee类;最后是三种子类WeekWorker、MonthWorker、YearWorker。
  • 第二步,理清各个类之间的关系。可以把公司Company类当作一个实现功能的地方,放置员工们Employee(建个数组)能做的事儿,而员工类Employee类作为抽象类,具体员工属性的实现放到不同的子类,周、月、年员工类WeekWorker、MonthWorker、YearWorker中实现。
  • 第三步,在主函数中做最后的测试,实现小员工们的上转型公司。
  • 关于计算总工资,可以当作是有3种拿工资的方法,有个人在该公司工作1年,每种工资都拿了一遍,最后所得的工资。

实现代码

1.	Main.javapackage exp_06.task01;import java.util.Scanner;/** * @Author Hyidol * @Data 2020-06-08 10:20 */public class Main {       public static void main(String[] args) {           Scanner scan = new Scanner(System.in);        System.out.print("请输入基本星期工资:");        double basicWeekEarnings = scan.nextDouble();        System.out.print("请输入基本月工资:");        double basicMonthEarnings = scan.nextDouble();        System.out.print("请输入基本年工资:");        double basicYearEarnings = scan.nextDouble();        Employee[] employee = new Employee[9];        for (int i = 0; i < 9; i++) {               if(i < 3) {                   employee[i] = new WeekWorker();                employee[i].basicWage = basicWeekEarnings;            }            else if(i < 6){                   employee[i] = new MonthWorker();                employee[i].basicWage = basicMonthEarnings;            }            else {                   employee[i] = new YearWorker();                employee[i].basicWage = basicYearEarnings;            }        }        Company company = new Company(employee);        System.out.println("公司薪水总额:" + company.salaryPlay());    }}
2.	Company.javapackage exp_06.task01;/** * @Author Hyidol * @Data 2020-06-08 10:26 */public class Company {       Employee[] employees = new Employee[9];    Company(Employee[] employee) {           for (int i = 0; i < 9; i++) {               this.employees[i] = employee[i];        }    }    double salaryPlay() {           double allEarning = 0;        for (int i = 0; i < 9; i++) {               allEarning += employees[i].earnings();        }        return allEarning;    }}
3.	Employee.javapackage exp_06.task01;/** * @Author Hyidol * @Data 2020-06-08 10:20 */public abstract class Employee {       double basicWage;    public abstract double earnings();}
4.	WeekWorker.javapackage exp_06.task01;/** * @Author Hyidol * @Data 2020-06-08 10:23 */public class WeekWorker extends Employee{       @Override    public double earnings() {           return basicWage * 52;    }}
5.	MonthWorker.javapackage exp_06.task01;/** * @Author Hyidol * @Data 2020-06-08 10:23 */public class MonthWorker extends Employee{       @Override    public double earnings() {           return basicWage * 12;    }}
6.	YearWorker.javapackage exp_06.task01;/** * @Author Hyidol * @Data 2020-06-08 10:22 */public class YearWorker extends Employee{       @Override    public double earnings() {           return basicWage;    }}

实现结果图

在这里插入图片描述

转载地址:http://fzljz.baihongyu.com/

你可能感兴趣的文章
Mysql之性能优化--索引的使用
查看>>
mysql之旅【第一篇】
查看>>
Mysql之索引选择及优化
查看>>
mysql之联合查询UNION
查看>>
mysql之连接查询,多表连接
查看>>
mysql乐观锁总结和实践 - 青葱岁月 - ITeye博客
查看>>
mysql也能注册到eureka_SpringCloud如何向Eureka中进行注册微服务-百度经验
查看>>
mysql乱码
查看>>
Mysql事务。开启事务、脏读、不可重复读、幻读、隔离级别
查看>>
MySQL事务与锁详解
查看>>
MySQL事务原理以及MVCC详解
查看>>
MySQL事务及其特性与锁机制
查看>>
mysql事务理解
查看>>
MySQL事务详解结合MVCC机制的理解
查看>>
MySQL事务隔离级别:读未提交、读已提交、可重复读和串行
查看>>
MySQL事务隔离级别:读未提交、读已提交、可重复读和串行
查看>>
webpack css文件处理
查看>>
mysql二进制包安装和遇到的问题
查看>>
MySql二进制日志的应用及恢復
查看>>
mysql互换表中两列数据方法
查看>>