Это основной практический вопрос Java, который я видел, но я хотел бы сделать его более заметным и включить в него функции, которые спрашивают пользователя, хотят ли они изменять информацию сотрудника, и если да, то какой, а затем применить запрошенную изменения для сотрудника и отображение обновленной информации о сотрудниках еще раз.Как я могу спросить пользователя, хотят ли они изменить информацию, а затем применить изменение?
Вот мой код до сих пор:
public class Employee
{
private String firstName;
private String lastName;
private double monthlySalary;
private String decision;
// constructor to initialize first name, last name and monthly salary
public Employee(String first, String last, double salary)
{
firstName = first;
lastName = last;
if (salary >= 0.0) // determine whether salary is positive
monthlySalary = salary;
} // end three-argument Employee constructor
// set Employee's first name
public void setFirstName(String first)
{
firstName = first;
} // end method setFirstName
// get Employee's first name
public String getFirstName()
{
return firstName;
} // end method getFirstName
// set Employee's last name
public void setLastName(String last)
{
lastName = last;
} // end method setLastName
// get Employee's last name
public String getLastName()
{
return lastName;
} // end method getLastName
// set Employee's monthly salary
public void setMonthlySalary(double salary)
{
if (salary >= 0.0) // determine whether salary is positive
monthlySalary = salary;
} // end method setMonthlySalary
// get Employee's monthly salary
public double getMonthlySalary()
{
return monthlySalary;
} // end method getMonthlySalary
// set Employee's new monthly salary
public void setNewMonthlySalary(double salary)
{
monthlySalary = salary;
} // end method setMonthlySalary
// get Employee's new monthly salary
public double getNewMonthlySalary()
{
return monthlySalary;
} // end method getMonthlySalary
} // end class Employee
и класс EmployeeTest
import java.util.Scanner;
public class EmployeeTest
{
public static void main(String args[])
{
Employee employee1 = new Employee("Bo", "Jackson", 8875.00);
Employee employee2 = new Employee("Cam", "Newton", 13150.75);
// create Scanner to obtain input from command window
Scanner input = new Scanner(System.in);
// display employees
System.out.printf("Employee 1: %s %s; Yearly Salary: %.2f\n",
employee1.getFirstName(), employee1.getLastName(),
12 * employee1.getMonthlySalary());
System.out.printf("Employee 2: %s %s; Yearly Salary: %.2f\n",
employee2.getFirstName(), employee2.getLastName(),
12 * employee2.getMonthlySalary());
// enter new employee salaries
System.out.println("Enter " + employee1.getFirstName() + "'s new salary:");
double newSalary1 = input.nextDouble();
employee1.setNewMonthlySalary(newSalary1);
System.out.println("Enter " + employee2.getFirstName() + "'s new salary:");
double newSalary2 = input.nextDouble();
employee2.setNewMonthlySalary(newSalary2);
// display employees with new yearly salary
System.out.printf("Employee 1: %s %s; Yearly Salary: %.2f\n",
employee1.getFirstName(), employee1.getLastName(),
12 * newSalary1);
System.out.printf("Employee 2: %s %s; Yearly Salary: %.2f\n",
employee2.getFirstName(), employee2.getLastName(),
12 * newSalary2);
} // end main
} // end class EmployeeTest
После отображения информации о сотрудниках, я хотел бы предложить пользователю выбрать, будет ли или не внести изменения к зарплате работника. Если да, то какой сотрудник. После внесения изменений я хотел бы отобразить измененные результаты. Каким будет самый простой способ справиться с этим?
Подумайте об использовании некоторых методов, таких как «displayEmployee», «newEmployee», «updateEmployee», это, вероятно, поможет вам разобраться. –
Мне действительно интересно, должен ли я использовать инструкцию if или switch? Вам не нужна помощь в названии методов. Если бы я мог получить пример инструкции if, которая завершила бы четыре шага: 1) предложит пользователю ввести да или нет; 2) затем, если да, попросите пользователя выбрать сотрудника одного или сотрудника два; 3), то, как только работник выбран, они могут изменить зарплату; 4) затем отобразите новую зарплату. – NOSDUH
Мне кажется, что вам интересно, может ли кто-нибудь сделать домашнее задание. Вы должны «попробовать что-то» (допустим, используя 'if', потому что * правило * 2 выбора =>' if', more choice => 'switch'), затем спросите, есть ли у вас какая-либо конкретная проблема. Удачи. –