У меня есть домашний вопрос, с которым мне нужна помощь; наследование java
Итак, мне нужна помощь с заданием, которое у меня есть. Я включу этот вопрос, а затем свои занятия.
Первый проект программирования включает в себя написание программы, которая вычисляет заработную плату для набора сотрудников разных типов. Эта программа состоит из четырех классов.
1. первый класс-это класс сотрудника, который содержит имя сотрудника и ежемесячную зарплату, которая указывается в целых долларах. Он должен иметь три метода:
A. конструктор, который позволяет инициализировать имя и ежемесячную зарплату.
б) метод annualSalary, который возвращает зарплату за целый год.
c. метод toString, который возвращает строку, содержащую имя и месячную зарплату, соответствующим образом помеченную.
2. Класс employee имеет два подкласса. Первый-продавец. У него есть дополнительная переменная экземпляра, которая содержит годовые продажи в целых долларах для этого продавца. Он должен иметь те же три метода:
A. конструктор, который позволяет использовать имя, ежемесячную зарплату и годовые продажи.
инициализированный.
б. переопределенный метод annualSalary, который возвращает зарплату за целый год. То
заработная плата продавца состоит из базовой заработной платы, рассчитанной из месячной заработной платы
плюс комиссионные. Комиссия рассчитывается как 2% от годового дохода этого продавца.
продажи. Максимальная комиссия, которую может заработать продавец, составляет 20 000 долларов.
c. переопределенный метод toString, возвращающий строку, содержащую имя,
месячная зарплата и годовой объем продаж, соответственно обозначенные.
3. второй подкласс-исполнительный. Он имеет дополнительную переменную экземпляра, которая
отражает текущую цену акций. Он должен иметь те же три метода:
A. конструктор, который позволяет использовать имя, ежемесячную зарплату и цену акций.
инициализированный.
б. переопределенный метод annualSalary, который возвращает зарплату за целый год. То
заработная плата руководителя состоит из базового оклада, рассчитанного исходя из месячного
зарплата плюс премия. Бонус составляет 30 000 долларов, если текущая цена акций больше
больше 50 долларов и ничего больше.
c. переопределенный метод toString, возвращающий строку, содержащую имя,
месячная зарплата и цена акций, соответственно обозначенные.
4. наконец, должен быть четвертый класс, содержащий основной метод. Она должна
считывание информации о сотрудниках из текстового файла. Каждая строка текстового файла будет
представляйте информацию для одного сотрудника в течение одного года. Пример того, как
текстовый файл будет выглядеть так, как показано ниже:
2014 Сотрудник Смит, Джон 2000
2015 Продавец Джонс, Билл 3000 100000
2014 Исполнительный Буш, Джордж 5000 55
Год - это первый элемент данных в строке. Файл будет содержать информацию о сотрудниках только за два года: 2014 и 2015. Далее следует тип сотрудника, за которым следует имя сотрудника и ежемесячная зарплата. Для продавцов конечная стоимость-это их годовой объем продаж, а для руководителей-цена акций. По мере чтения сотрудников должны создаваться объекты сотрудников соответствующего типа, которые должны храниться в одном из двух массивов в зависимости от года. Вы можете предположить, что файл будет содержать не более десяти записей сотрудников за каждый год и что данные в файле будут отформатированы правильно.
Как только все данные о сотрудниках будут считаны, на консоли должен появиться отчет за каждый из двух лет. Каждая строка отчета должна содержать все исходные данные, предоставленные по каждому сотруднику вместе с
2
годовой оклад этого работника за год. Для каждого из этих двух лет должна быть рассчитана и отображена средняя заработная плата всех сотрудников за этот год.
Мой код до сих пор:
public class Employee { private String name; private double monthly; public double annualSalary(double monthly) { return monthly * 12; } public String toString() { return "Name: " + name + " Monthly Salary: $" + monthly; } } /* File name: Salesman.java */ package project.pkg1; public class Salesman extends Employee { private double annual; public Salesman(String name, double monthly, double annual) { super(name, monthly); annual = monthly * 12; } public String toString() { return "Name: " + name + " Monthly Salary: $" + monthly + " Annual Salary: $" + salary; } } /* File name: Executive.java */ package project.pkg1; public class Executive extends Employee { private double stock; public Executive(string name, double monthly, double stock) { super(name, monthly) } }
Что я уже пробовал:
Мой компилятор показывает ошибку в строках "супер". Ошибка заключается в следующем:
сотрудник в конструктор класса employee не может быть применен для данного типа:
требуется: никаких аргументов
найдено: строка, двойная
причина: фактические и формальные аргументы различаются по длине
0x01AA
> "мой компилятор показывает ошибку в строках "супер" "
Может быть, вы также могли бы сказать нам, что это за сообщение об ошибке?
Member 13240253
сотрудник в конструктор класса employee не может быть применен для данного типа:
требуется: никаких аргументов
найдено: строка, двойная
причина: фактический и формальный аргумент различаются по длине
0x01AA
Пожалуйста, используйте Редактирование вопроса[^] и добавьте эту информацию к вашему вопросу.
Patrice T
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.