1.第11章 11.5实做程序:教材P132 第2题:
在前面章节完成的Worker类基础上进行修改,添加计算工人年收入的重载方法。计算年收入有两个方法,第一个方法是保底工资+年工时单价;第二种方法是固定月工资12.设计测试类Main,分别使用两种方法计算工人的年收入。
要点提示:
(1)第一个方法参数有:保底工资、年工时、单价,三个参数。
(2)第二个方法参数有:月固定工资,一个参数
(3)在测试类中输入保底工资、年工时、单价和月固定工资,输出对应的年收入。
(4)保底工资、年工时、单价、月固定工资均为int类型
输入提示为:
请输入保底工资、年工时和单价:
请输入月固定工资:
输入的数据值为:
10000
2000
40
6500
输出结果为:
第一种方式的年收入是:90000
第二种方式的年收入是:78000
import java.util.Scanner;class Worker{private String name;private int age;private int salary;private String level;private TableInfo table;public Worker(String name,int age,int salary,String level,TableInfo table){this.name=name;this.age=age;this.salary=salary;this.level=level;this.table=table;this.table.setOwne(this);}public Worker(){}public int nianshouru(int baodi,int gongshi,int danjia){return (baodi+(gongshi*danjia));}public int nianshouru(int yuegongzi){return yuegongzi*12;}public int getSalary(){return salary;}public String getName(){return name;}public void display(){}}class TableInfo{private String tshape;private Worker owne;public TableInfo(String tshape){this.tshape=tshape;}public void setOwne(Worker owne){this.owne=owne;}public Worker getOwne(){return owne;}public String getTshape(){return tshape;}public void print(){owne.display();//System.out.println("""我的桌子:"+tshape);}}public class Main{public static void main(String [] args){int baodi;int gongshi;int danjia;int yuegongzi;int gongzi1=0;int gongzi2=0;Scanner sc=new Scanner(System.in);System.out.println("请输入保底工资、年工时和单价:");baodi=sc.nextInt();gongshi=sc.nextInt();danjia=sc.nextInt();System.out.println("请输入月固定工资:");yuegongzi=sc.nextInt();TableInfo table=new TableInfo("圆形");Worker fanshio=new Worker("张工",25,6000,"初级",table);Worker fanshit=new Worker();gongzi1=fanshio.nianshouru(baodi,gongshi,danjia);gongzi2=fanshit.nianshouru(yuegongzi);System.out.println("第一种方式的年收入是:"+gongzi1);System.out.println("第二种方式的年收入是:"+gongzi2);table.print();}}
2.设计类。在类定义中通过重载方法分别计算球体和圆柱体的体积。在测试类中调用,显示计算结果。
要点提示:
(1)定义两个重载的方法计算体积。
(2)第一个方法的参数为球半径r,该方法计算球体的体积。计算球体积的公式是:(4/3.0)3.14rrr,
(3)第二个方法的参数为底半径r和高度h,该方法计算圆柱体的体积。圆柱体体积公式是:3.14rr*h
(4)调用第一个方法时,球半径的值10
(5)调用第二个方法时,底半径的值为10,高为8
(6)程序没有输入提示!
输出结果是:
半径为10的球体积是:4186.666666666667低半径为10,高为8的圆柱体积是:2512.0
class Wuti{public Wuti(){}public double tiji(int r){return (4/3.0)*3.14*r*r*r;}public double tiji(int r,int h){return 3.14*r*r*h;}}public class Main{public static void main(String [] args){int r=10;int h=8;Wuti qiuti=new Wuti();Wuti yuanzhuti=new Wuti();System.out.println("半径为"+r+"的球体积是:"+qiuti.tiji(r));System.out.println("低半径为"+r+",高为"+h+"的圆柱体积是:"+yuanzhuti.tiji(r,h));}}

