Здравствуйте!
1) метод
displayInfo()
можно заменить на метод
toString()
так как по факту он именно это и делает.
2) Имеется синт. ошибка в коде и не совсем понятен смысл
evaluate (); {
if (google.salaryProposed >= vasya.salaryDesired) {
System.out.println("\nWe can hire Vasya! :)");
} else {
System.out.println("\nWe can't :(");
}
}
private static void evaluate() {
}
Реализовать метод evaluate() можно по-разному. Например, создать отдельный сервисный класс и добавить статичный метод туда.
Вот, один из возможных вариантов решения. Вообще думаю, что можно было бы Employee & Employer & SalaryService вывести за пределы класса Main и сделать публичными. Ну и я так понял, что модификаторы доступа вы еще не проходили. Посмотрите на такие вещи, как принципы ООП (обратите внимание на инкапсуляцию), посмотрите на Java Bean ( toString, публичный класс и т.д. )
public class Main {
public static void main(String[] args) {
Employer google = new Employer("Google", 500);
System.out.println(google);
Employee vasya = new Employee("Vasya", 400);
System.out.println(vasya);
System.out.println("Result: " + SalaryService.evaluate(google.salaryProposed, vasya.salaryDesired));
}
}
class Employer {
String name;
int salaryProposed;
Employer (String name, int salaryProposed) {
this.name = name;
this.salaryProposed = salaryProposed;
}
@Override
public String toString() {
return "Employer{" +
"name='" + name + '\'' +
", salaryProposed=" + salaryProposed +
'}';
}
}
class Employee {
String name;
int salaryDesired;
Employee (String n, int sD) {
name = n;
salaryDesired = sD;
}
@Override
public String toString() {
return "Employee{" +
"name='" + name + '\'' +
", salaryDesired=" + salaryDesired +
'}';
}
}
class SalaryService {
public static String evaluate(int salaryProposed, int salaryDesired) {
if (salaryProposed >= salaryDesired) {
return "We can hire Vasya! :)";
} else {
return "We can't :(";
}
}
}