Проблема: Наконец, должен быть четвертый класс, который содержит основной метод. Он должен читать информацию сотрудника из текстового файла. Каждая строка текстового файла будет представлять информацию для одного сотрудника в течение одного года. Ниже приведен пример того, как будет выглядеть текстовый файл:Есть ли ошибки в моем коде?
После считывания всех данных о сотрудниках на каждой из двух лет должен отображаться отчет. Каждая строка отчета должна содержать все исходные данные, предоставленные каждому сотруднику, вместе с годовой оклад этого работника за год. Для каждого из двух лет необходимо вычитать и отобразить среднее значение всех зарплат для всех сотрудников за этот год.
Вопрос: Существуют ли ошибки в моем коде? Или что я могу исправить?
Супер Класс
public class Employee {
//Instance variables of super
private String name;
private double monthlySal;
private double annualSalary;
//Super constructor
public Employee(String name, double monthlySal) {
this.name = name;//Initialization
this.monthlySal = monthlySal;//Initialization
}//End of Constructor
//Method for annualSalary
public void annualSalary(double annualSalary){
this.annualSalary = monthlySal * 12;
System.out.println("Annual Salary: " +annualSalary);
}//End of Method
//toString Method
public String toString() {
return "Employee Name: " + name + "\n" + "monthly Salary: " +monthlySal;
}//End of toString Method
}//End of Employee Method
первый Подкласс
public class Salesman extends Employee {
private String name;
private double monthlySal;
private double annualSales;
private double commission;
private double annualSalary;//Annual Salary
//subclass Constructor
public Salesman(String name, double monthlySal, double annualSalary, double commission) {
super(name, monthlySal);
this.annualSales = annualSales;
this.commission = 0.2 * annualSales;
}//End of Constructor
//Overridden Method
@Override
public void annualSalary(double annualSalary){
this.annualSalary = commission + super.annualSalary;
}//End of Override Method
//Overriden toString Method
@Override
public String toString(){
return "Employee Name: " + name + "\n" + "Monthly Salary: " + monthlySal + "\n" + "Annual Sales: " +annualSales;
}
}
второй Подкласс
public class Executive extends Employee {
private double stockPrice;
private String name;
private double monthlySal;
private double annualSalary;
private double bonus = 0;
//Constructor
public Executive(String name, double monthlySal, double annualSalary, double stockPrice) {
super(name, monthlySal);
this.stockPrice = stockPrice;
this.annualSalary = annualSalary;
if(stockPrice >= 50) {
bonus = 30000;
} else {
bonus = 0;
}//End of If Me
}//End of Constructor
//Override Method for annualSalary
@Override
public void annualSalary(double annualSalary){
this.annualSalary = super.annualSalary + bonus;
}//End of Override Method
//toString Override Method
@Override
public String toString() {
return "Employee Name: " + name + "\n" + "Monthly Salary: " + monthlySal + "\n" + "Current Stock Price: " +stockPrice;
}
}
Text File - employee.txt
2014 Employee Clark, Sam 3000
2014 Salesman Samson, Jones 4000 40000
2014 Executive Brandon, Thurman 10000 70
2015 Executive Brandon, Thurman 11000 70
2015 Salesman Samson, Jones 4500 30000
2015 Employee Clark, Sam 3500
//4th Class
import java.io.File;
import java.FileNotFoundException;
public class TestEmployee {
//Start Main
public static void main(String[] args) {
private double yearOneAverSalary = 55000;
private double yearTwoAverSalary = 45000;
System.out.println("The average combined yearly salary for year 2014 employees is: " + yearOneAverSalary);
System.out.println("The average combined yearly salary for 2015 employees is: " +yearTwoAverSalary);
} // Конец Главная
public static void readFile(File "src/employee.txt") throws IOException {
String line;
try(BufferedReader) br = Files.newBufferedReader(file.toPath()) {
while((line = br.readLine())1=null) {
System.out.println(line)//prints every line in file
}//End of While
}//End of Try
}//End of ReadFile
В чем проблема с кодом, в чем вопрос? –
Вероятно, вы пропустили порог для комиссии в размере 20 000 долларов для продавца. – Spidey