Java类继承与验证问题求助:实习生类实现及文件输出
Java 练习问题解决方案
一、修正Employee类的小错误
你写的Employee类里setIdEmployee方法存在参数赋值错误,参数名和赋值变量不匹配会导致ID无法正确设置,修正后的代码如下:
public class Employee { int idEmployee; String category; int salary; public Employee() {} public int getIdEmployee() { return idEmployee; } public void setIdEmployee(int idEmployee) { this.idEmployee = idEmployee; } public String getCategory() { return category; } public void setCategory(String category) { this.category = category; } public int getSalary() { return salary; } public void setSalary(int salary) { this.salary = salary; } }
二、实现Intern类(继承+薪资验证)
用extends关键字实现继承,定义不可修改的薪资上限常量,重写setSalary方法做验证,两种实现方式供你选择:
方式1:超过上限抛出异常
public class Intern extends Employee { // 定义实习生薪资上限常量 public static final int SALARY_CAP = 20000; public Intern() {} @Override public void setSalary(int salary) { if (salary > SALARY_CAP) { throw new IllegalArgumentException("实习生薪资不能超过" + SALARY_CAP); } super.setSalary(salary); } }
方式2:超过上限自动设为最大值
public class Intern extends Employee { public static final int SALARY_CAP = 20000; public Intern() {} @Override public void setSalary(int salary) { // 取输入值和上限的较小值作为最终薪资 int validSalary = Math.min(salary, SALARY_CAP); super.setSalary(validSalary); } }
三、创建10个对象并写入文件
用循环批量创建Employee对象,通过BufferedWriter写入文件,用try-with-resources语法自动关闭IO资源:
import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; public class Main { public static void main(String[] args) { // try-with-resources会自动关闭流,避免资源泄漏 try (BufferedWriter writer = new BufferedWriter(new FileWriter("employees.txt"))) { // 写入表头 writer.write("员工ID,岗位,薪资"); writer.newLine(); // 创建10个Employee对象并写入文件 for (int i = 1; i <= 10; i++) { Employee emp = new Employee(); emp.setIdEmployee(i); emp.setCategory("正式员工" + i); emp.setSalary(30000 + i * 1000); // 拼接属性为一行文本 String line = emp.getIdEmployee() + "," + emp.getCategory() + "," + emp.getSalary(); writer.write(line); writer.newLine(); } System.out.println("文件写入完成"); } catch (IOException e) { e.printStackTrace(); } } }
内容的提问来源于stack exchange,提问作者kesp34
相关产品推荐
相关产品推荐

