1、问题描述运用Java 住宿学生信息包括:学号、姓名、性别、年龄、班级、用电量、用水量 等信息。教工信息包括职工号、姓名、性别、年龄、工作部门、用电量、用水量等信息。 能计算出学生和教工每月所要交的电费和水费。定义一个人员类,实现学生和教工共同的信 息和行为。
时间: 2023-09-19 20:06:50 浏览: 107
### 回答1:
以下是一个简单的Java代码,其中包括Person类、Student类和Teacher类,以及计算电费和水费的方法:
```java
public class Person {
private String id;
private String name;
private String gender;
private int age;
private double electricity;
private double water;
public Person(String id, String name, String gender, int age, double electricity, double water) {
this.id = id;
this.name = name;
this.gender = gender;
this.age = age;
this.electricity = electricity;
this.water = water;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public String getGender() {
return gender;
}
public int getAge() {
return age;
}
public double getElectricity() {
return electricity;
}
public double getWater() {
return water;
}
public void setElectricity(double electricity) {
this.electricity = electricity;
}
public void setWater(double water) {
this.water = water;
}
public double calculateElectricityFee() {
return electricity * 0.5; // 每度电费用为0.5元
}
public double calculateWaterFee() {
return water * 3; // 每吨水费用为3元
}
}
public class Student extends Person {
private String className;
public Student(String id, String name, String gender, int age, double electricity, double water, String className) {
super(id, name, gender, age, electricity, water);
this.className = className;
}
public String getClassName() {
return className;
}
}
public class Teacher extends Person {
private String department;
public Teacher(String id, String name, String gender, int age, double electricity, double water, String department) {
super(id, name, gender, age, electricity, water);
this.department = department;
}
public String getDepartment() {
return department;
}
}
```
以上是三个类的定义,其中Person类是基类,包含共同的属性和方法;Student类和Teacher类继承自Person类,分别添加了班级和部门属性。
下面是一个简单的测试程序,展示如何使用这些类计算电费和水费:
```java
public class Test {
public static void main(String[] args) {
Student student = new Student("001", "张三", "男", 18, 100, 10, "一班");
Teacher teacher = new Teacher("101", "李四", "女", 30, 200, 20, "计算机系");
double studentElectricityFee = student.calculateElectricityFee();
double studentWaterFee = student.calculateWaterFee();
double teacherElectricityFee = teacher.calculateElectricityFee();
double teacherWaterFee = teacher.calculateWaterFee();
System.out.println("学生 " + student.getName() + " 应交电费:" + studentElectricityFee + " 元,水费:" + studentWaterFee + " 元。");
System.out.println("教师 " + teacher.getName() + " 应交电费:" + teacherElectricityFee + " 元,水费:" + teacherWaterFee + " 元。");
}
}
```
运行结果如下:
```
学生 张三 应交电费:50.0 元,水费:30.0 元。
教师 李四 应交电费:100.0 元,水费:60.0 元。
```
以上代码仅供参考,实际应用中可能需要根据具体需求进行修改和完善。
### 回答2:
符合题目要求的解答如下:
首先,定义一个人员类(Person)作为学生和教工的父类,该类中包含学号/职工号、姓名、性别、年龄、用电量以及用水量等属性。
然后,定义一个继承自人员类的学生类(Student)和教工类(Teacher)。同时,在学生类和教工类中额外添加班级、工作部门两个属性。
接下来,为学生类和教工类分别增加电费和水费的计算方法。这些方法可以根据不同的计算公式来计算每月所要交的电费和水费。例如,可以定一个固定的电价(electricityPrice)和水价(waterPrice),然后使用用电量和用水量乘以相应的价格来计算费用。
最后,在主类(Main)中创建学生和教工的对象,并设置相应的属性值。然后调用计算电费和水费的方法,将结果打印出来。
整个程序的流程如下:
1. 定义一个人员类(Person),包括学号/职工号、姓名、性别、年龄、用电量、用水量等属性。
2. 定义一个继承自人员类的学生类(Student),增加班级属性。
3. 定义一个继承自人员类的教工类(Teacher),增加工作部门属性。
4. 在学生类和教工类中分别添加计算电费和水费的方法。
5. 在主类中创建学生和教工的对象,并设置相应的属性值。
6. 调用计算电费和水费的方法,并将结果打印出来。
以上就是运用Java实现学生和教工信息的描述,并计算每月所要交的电费和水费的解答。
### 回答3:
首先,我们需要定义一个人员类(Person),这个类包括学号、姓名、性别、年龄这些共同的属性。同时,我们还需要定义用电量和用水量这两个属性。同时,我们还需要定义一个计算电费和水费的方法。
```java
public class Person {
private String id; // 学号/职工号
private String name; // 姓名
private String gender; // 性别
private int age; // 年龄
private double electricity; // 用电量
private double water; // 用水量
public Person(String id, String name, String gender, int age, double electricity, double water) {
this.id = id;
this.name = name;
this.gender = gender;
this.age = age;
this.electricity = electricity;
this.water = water;
}
public double calculateElectricityFee(double unitPrice) {
return electricity * unitPrice;
}
public double calculateWaterFee(double unitPrice) {
return water * unitPrice;
}
// 省略getter和setter方法
// ...
}
```
然后,我们可以创建学生类(Student)和教工类(Employee),它们都继承自人员类(Person),并添加自己特有的属性和方法。
```java
public class Student extends Person {
private String className; // 班级
public Student(String id, String name, String gender, int age, double electricity, double water, String className) {
super(id, name, gender, age, electricity, water);
this.className = className;
}
// 省略其他特有属性的getter和setter方法
// ...
}
public class Employee extends Person {
private String department; // 工作部门
public Employee(String id, String name, String gender, int age, double electricity, double water, String department) {
super(id, name, gender, age, electricity, water);
this.department = department;
}
// 省略其他特有属性的getter和setter方法
// ...
}
```
最后,我们可以使用上述类来计算学生和教工每月所要交的电费和水费。
```java
public class Main {
public static void main(String[] args) {
Student student = new Student("001", "张三", "男", 18, 100, 10, "一班");
Employee employee = new Employee("1001", "李四", "女", 30, 200, 20, "人力资源部");
double electricityUnitPrice = 0.5; // 电费单价
double waterUnitPrice = 1.0; // 水费单价
double studentElectricityFee = student.calculateElectricityFee(electricityUnitPrice);
double studentWaterFee = student.calculateWaterFee(waterUnitPrice);
double employeeElectricityFee = employee.calculateElectricityFee(electricityUnitPrice);
double employeeWaterFee = employee.calculateWaterFee(waterUnitPrice);
System.out.println(student.getName() + "需交电费:" + studentElectricityFee + "元");
System.out.println(student.getName() + "需交水费:" + studentWaterFee + "元");
System.out.println(employee.getName() + "需交电费:" + employeeElectricityFee + "元");
System.out.println(employee.getName() + "需交水费:" + employeeWaterFee + "元");
}
}
```
以上代码即为使用Java计算学生和教工每月所要交的电费和水费的实现。
阅读全文