Проблема с вызовом метода с геттерами и сеттерами - PullRequest
0 голосов
/ 17 января 2019

Я работаю над небольшим проектом, и мне нужна небольшая помощь.Итак, у меня есть класс с геттерами и сеттерами и строковым методом в и.Кроме того, у меня есть один метод для вычисления чего-то, поэтому я могу вызвать этот метод в моем входе?

 User user1 = new User(2, 14, method, "Mark", "John", "055-555-633");

Так что, как вы можете видеть в моем коде, где я набираю «метод», я хотел бы вызвать реальныйметод.И мой метод выглядит следующим образом (это проблема?):

public void amount(Gamehouse g){
    int amount = i.pricePerHour() * getHowMuchUserWantHours();
}

Так что да, мне нужно, чтобы программа автоматически печатала сумму в моем пользователе user1.Вместо того, чтобы указать «метод», могу ли я указать свой метод «сумма» и автоматически рассчитать сумму для меня?В моем user1 указан этот «2». Пользователь сколько часов хочет, поэтому, например, 2 * 50.

Ответы [ 2 ]

0 голосов
/ 17 января 2019

Вместо этого рассчитайте его в конструкторе, если вы уже отправляете 2 (getHowMuchUserWantHours) в конструктор.

public User(int hours, int unknown, int pricePerHour, String surname, String first name, String phone) {
    this.amount = hours * pricePerHour;
    // rest of fields
}

Создать пользователя

User user = new User(2, 14, g.getPricePerHours(),  "Mark", "John", "055-555-633");

это имеет смысл, если также часы являются членами User, если нет, и они используются только для расчета, пропустите его как параметр

public User(int unknown, int amount, String surname, String first name, String phone) {
    this.amount = amount;
    // rest of fields
}

добавить метод calcAmount в класс пользователя

public static int calcAmount(int hour, int pricePerHour) {
    return hour * pricePerHour;
}

и создайте пользователя

User user = new User(14, calcAmount(2, 2* g.getPricePerHours()),  "Mark", "John", "055-555-633");
0 голосов
/ 17 января 2019

Предполагая, что 'i' является переменной класса, вы определяете метод следующим образом:

public double amount(Gamehouse g){
    return i.pricePerHour() * getHowMuchUserWantHours();
}

И назовите это как:

User user1 = new User(2, 14, amount(), "Mark", "John", "055-555-633");
...