Не понятно каким образом сравнивать значение зарплаты в методе.
У вас есть два работника, вам нужно узнать, кто получает больше денег и на сколько. Для этого создайте 2 объекта класса Salary, с экземпляром, который содержит зарплату работника. Далее передайте объект, как аргумент, метода для сравнения
Код Main:
public class Main {
public static void main(String[] args) {
Salary first = new Salary();
Salary second= new Salary();
first.Employee("Сергей", 500);
second.Employee("Артём", 700);
}
}
Код Salary:
public class Salary {
public void Employee(String name, int salary){
System.out.println("Имя: " + name + " Зарплата: " + salary);
}
public void CompareSalary(Salary _employee){
_employee.Employee("Name" , 400); ???
}
}
А может проще попробовать?
public class Salary {
private String name;
private int salary;
public Salary(String name, int salary){
this.name = name;
this.salary = salary;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
public void CompareSalary(Salary employee){
String msg = name + " получает столько же сколько и " + employee.getName();
if (salary > employee.getSalary()) {
msg = name + " получает больше чем " + employee.getName() + " на " + (salary - employee.getSalary());
} else if (salary < employee.getSalary()) {
msg = name + " получает меньше чем " + employee.getName() + " на " + (employee.getSalary() - salary);
}
System.out.println(msg);
}
@Override
public String toString() {
return "Salary{" +
"name='" + name + '\'' +
", salary=" + salary +
'}';
}
}
вместо метода Employee можно просто переопределить метод toString. Валидация значений на вашей совести.
public static void main(String[] args) {
Salary first = new Salary("Сергей", 700);
Salary second= new Salary("Артём", 800);
first.CompareSalary(second);
}
Как-то всё странно у вас. Просто делаете конструктор и метод для сравнения, куда передается параметр - второй объект для сравнения. В языке такое уже есть в интерфейсе Comparable
:
public class Main {
public static void main(String[] args) {
Salary first = new Salary("Сергей", 500);
Salary second = new Salary("Артём", 700);
if(first.compareTo(second) > 0){
System.out.println("Больше получает " + first.getName());
} else if(first.compareTo(second) < 0){
System.out.println("Больше получает " + second.getName());
} else {
System.out.println("Оба получают одинаково");
}
}
}
public class Salary implements Comparable<Salary> {
private String name;
private int salary;
public Salary(String name, int salary){
this.name = name;
this.salary = salary;
}
public void print(String name, int salary){
System.out.println("Имя: " + name + " Зарплата: " + salary);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
@Override
public int compareTo(Salary o) {
return Integer.compare(salary, o.getSalary());
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Мне нужно в сокет отправить строкуПри этом, в пакете вначале должно идти длина пакета в байтах
На разметке активности есть ListView и EditTextПри вводе символов пользователем в ListView должны оставаться только объекты которые содержат введенные...