Member 13744927 Ответов: 1

Быстрый вопрос (java или C++)


наша компания должна увеличить зарплату всем сотрудникам со ставкой 10%, которые работают в течение 2 лет, и добавить еще 10% в год после 2-летнего опыта работы. программа должна отображать их зарплаты до и после расчета повышающей ставки

Что я уже пробовал:

я пытался, но у меня ничего не вышло

public class Employee {
     
    private String firstName; 
    private String lastName; 
    private double monthlySalary;
 
    public Employee(String name, String name2, double salary) {
        firstName = name;
        lastName = name2;
        monthlySalary = salary;
    }
 
    public void setFirstName(String name) {
        firstName = name;
    }
 
    public String getFirstName() {
        return firstName;
    }
 
    public void setLastName(String name) {
        lastName = name;
    }
 
    public String getLastName() {
        return lastName;
    }
 
    public void setmonthlySalary(double salary) {
        monthlySalary = salary;
    }
 
    public double getmonthlySalary() {
        return monthlySalary;
    }
 
    public double yearlySalary() {
        double yearlySalary;
        yearlySalary = (monthlySalary * 12);
        return yearlySalary;
    }
 
    public double yearlySalaryIncrease() {
        double yearlySalaryIncrease;
        yearlySalaryIncrease = (((yearlySalary() * (0.1)) + yearlySalary()));
        return yearlySalaryIncrease;
    }
 
    public void displayYearlySalary() {
        System.out.printf("%s %s's Yearly Salary is $%.2f\n", firstName, lastName,
           yearlySalary());
    }
 
    public void displayYearlySalaryIncrease() {
        System.out.printf("%s %s = $%.2f\n", firstName, lastName, yearlySalaryIncrease());
    }
 
}





import java.util.Scanner;
 
public class EmployeeTest {
    public static void main(String[] args) {
         
        Employee employee1 = new Employee("first", "last", 0.0);
        Employee employee2 = new Employee("first", "last", 0.0);
 
    Scanner input = new Scanner(System.in);
         
        String firstName;
        String lastName;
        double monthlySalary;
 
        System.out.println("Enter details of employee1:\n");
         
        System.out.print("Enter First Name: ");
        firstName = input.next();
        employee1.setFirstName(firstName);
        employee1.getFirstName();
        System.out.print("Enter Last Name: ");
        lastName = input.next();
        employee1.setLastName(lastName);
        employee1.getLastName();
        System.out.print("Enter Monthly Salary: ");
        monthlySalary = input.nextDouble();
        if (monthlySalary > 0) //if monthly salary is not positive do not set its value
            employee1.setmonthlySalary(monthlySalary);
        employee1.getmonthlySalary();
 
        System.out.println();
 
        System.out.println("Enter details of employee2:\n");
 
        System.out.print("Enter First Name: ");
        firstName = input.next();
        employee2.setFirstName(firstName);
        employee2.getFirstName();
        System.out.print("Enter Last Name: ");
        lastName = input.next();
        employee2.setLastName(lastName);
        employee2.getLastName();
        System.out.print("Enter Monthly Salary: ");
        monthlySalary = input.nextDouble();
        if (monthlySalary > 0) //if monthly salary is not positive do not set its value
            employee2.setmonthlySalary(monthlySalary);
        employee2.getmonthlySalary();
 
        System.out.println();
 
        employee1.yearlySalary();
        employee2.yearlySalary();
 
        employee1.displayYearlySalary();
 
        System.out.println();
 
        employee2.displayYearlySalary();
 
        System.out.println();
 
        employee1.yearlySalaryIncrease();
        employee2.yearlySalaryIncrease();
 
        System.out.printf("Congratulations to %s %s and %s %s. You just earned"
                + " for yourselves a 10%c increase in your yearly salaries. "
                + "\nYour new yearly salaries are:\n\n", employee1.getFirstName(),
                employee1.getLastName(), employee2.getFirstName(), 
                employee2.getLastName(), '%');
 
        employee1.displayYearlySalaryIncrease();
 
        System.out.println();
 
        employee2.displayYearlySalaryIncrease();
 
    }
}

Patrice T

Покажите свой код с образцами ввода и вывода.

Member 13744927

служащий государственного класса {

частная строку "имя";
частная строку "фамилия";
частный двухместный месячник;

государственный служащий(строковое имя, строковое имено2, двойная зарплата) {
имя = имя;
фамилия = name2;
monthlySalary = зарплата;
}

public void setFirstName(строковое имя) {
имя = имя;
}

публичная строка getFirstName() {
вернуть имя пользователя;
}

public void setLastName(строковое имя) {
фамилия = имя;
}

публичная строка getLastName() {
вернуть фамилию;
}

public void setmonthlySalary(двойная зарплата) {
monthlySalary = зарплата;
}

публичный двойной getmonthlySalary() {
возвращение ежемесячно;
}

публичный двойной yearlySalary() {
двойной годичный саларий;
yearlySalary = (monthlySalary * 12);
возвращение yearlySalary;
}

общественные двойной yearlySalaryIncrease() {
двукратное годовалое увеличение;
yearlySalaryIncrease = (((yearlySalary() * (0.1)) + yearlySalary()));
возвращение yearlySalaryIncrease;
}

общественного недействительными displayYearlySalary() {
System.out.printf ("годовая зарплата%s %s составляет $%.2f\n", имя, фамилия,
yearlySalary());
}

общественного недействительными displayYearlySalaryIncrease() {
Системы.из.функции printf("%ы %ы = $%.2Ф\п", "имя", "фамилия", yearlySalaryIncrease());
}

}




импорт java.util.Сканер;

публичный класс EmployeeTest {
публичный статический пустота главный(строка[] аргументы) {

Employee employee1 = новый сотрудник("первый", "последний", 0.0);
Employee employee2 = новый сотрудник("первый", "последний", 0.0);

Вход сканера = новый сканер(System.in);

Строку "имя";
Строку "фамилия";
двойной месячник;

System.out.println("введите данные employee1:\n");

System.out.print("введите имя: ");
имя = ввод.далее();
employee1.setFirstName(имя);
employee1.методы getfirstname();
System.out.print("введите фамилию: ");
фамилия = input.next();
employee1.setLastName(фамилия);
employee1.getLastName();
System.out.print("введите месячную зарплату: ");
monthlySalary = input.nextDouble();
if (monthlySalary > 0) //если месячная зарплата не положительна, не устанавливайте ее значение
employee1.setmonthlySalary(месячник);
employee1.getmonthlySalary();

Системы.из.код println();

System.out.println("введите данные employee2:\n");

System.out.print("введите имя: ");
имя = ввод.далее();
employee2.setFirstName(имя);
employee2.методы getfirstname();
System.out.print("введите фамилию: ");
фамилия = input.next();
employee2.setLastName(фамилия);
employee2.getLastName();
System.out.print("введите месячную зарплату: ");
monthlySalary = input.nextDouble();
if (monthlySalary > 0) //если месячная зарплата не положительна, не устанавливайте ее значение
employee2.setmonthlySalary(месячник);
employee2.getmonthlySalary();

Системы.из.код println();

employee1.yearlySalary();
employee2.yearlySalary();

employee1.displayYearlySalary();

Системы.из.код println();

employee2.displayYearlySalary();

Системы.из.код println();

employee1.yearlySalaryIncrease();
employee2.yearlySalaryIncrease();

Системы.из.функции printf("поздравления к %S %S и %S в %S. Вы только что заработали"
+ " для себя 10% - ную прибавку к вашей годовой зарплате. "
+ "\nYour новый годовой зарплаты:\н\н", employee1.методы getfirstname(),
employee1.getLastName(), employee2.getFirstName(),
employee2.getLastName(), '%');

employee1.displayYearlySalaryIncrease();

Системы.из.код println();

employee2.displayYearlySalaryIncrease();

}
}

Richard MacCutchan

И в чем же проблема? Помимо того, что вы не должны использовать типы float/double для финансовых расчетов.

nv3

Что вы подразумеваете под "java или C++"? Это тот или другой? И кроме того, если вы не можете решить такую проблему самостоятельно, вы, вероятно, не заслуживаете этой 10% - ной прибавки к зарплате :-)

1 Ответов

Рейтинг:
0

KarstenK

Вы должны использовать лучший дизайн класса в кодировании, только выполнив операцию увеличения зарплаты члена. Чем является объект обновленный до правильного значения. Чем геттер должен возвращать правильное значение.

public void yearlySalaryIncrease() {
  setmonthlySalary( monthlySalary * 1.1 );
}