JAVA第九次作业《第11章-方法的重载-作业-计算工人工资》

CG系统网址:http://211.81.175.89

先来看下方法重载(Overloading)的定义:如果有两个方法的方法名相同,但参数不一致,哪么可以说一个方法是另一个方法的重载。 具体说明如下:

  • 方法名相同
  • 方法的参数类型,参数个不一样
  • 方法的返回类型可以不相同
  • 方法的修饰符可以不相同
  • main 方法也可以被重载

方法可以重名,但是重名的方法,参数个数或者类型不能相同。

比如说有两个方法,都叫wangwei方法

但这个两个方法的参数个数或者参数类型不能相同,

public int wangwei(){
    return 1;
}

public int wangwei(int a){
    return a;
}

这两个方法是可以同时存在的,因为他俩的参数个数不同,一个无参,一个有一个参数,

在调用时,可以通过参数的个数来分辨调用的是哪个方法

【问题描述】

定义Worker类,为该类添加计算工人年收入的重载方法。计算年收入有两个方法,第一个方法是保底工资+年工时*单价;第二种方法是固定月工资*12.

定义测试类,在main方法中分别使用两种方法计算工人的年收入。

main方法的写法如下:注意不要修改main方法除了注释之外的代码,否则会扣分!中文注释在提交作业的时候一定要删除!

要点提示:

(1)第一个方法参数有:保底工资、年工时、单价,三个参数。

(2)第二个方法参数有:月固定工资,一个参数

(3)在测试类中输入保底工资、年工时、单价和月固定工资,输出对应的年收入。

(4)保底工资、年工时、单价、月固定工资均为int类型

输入提示为:无

输入的数据值为:

10000

2000

40

6500

输出结果为:

way1:90000
way2:78000

若测试数据是:

12000

2000

35

7000

则输出结果是:

way1:82000

way2:84000

注意:必须使用方法的重载,否则会扣分!!!

import java.util.Scanner;
class Worker {

    public int way(int x,int y,int z) {
        return x+y*z;
    }

    public int way(int x) {
        return x*12;
    }
}
public class one {
    public static void main(String [] args) {
        Scanner sc = new Scanner(System.in);
        int baodi = sc.nextInt();
        int gongshi = sc.nextInt();
        int danjia = sc.nextInt();
        int guding = sc.nextInt();
        Worker worker = new Worker();
        System.out.println("way1:" + worker.way(baodi, gongshi, danjia));
        System.out.println("way2:" + worker.way(guding));
    }
}

猜你喜欢

转载自blog.csdn.net/qq_25887493/article/details/123982160