Попытка сравнить уже установленный объект с двумя другими переменными

#java #object #methods

#java #объект #методы

Вопрос:

Объект, который у меня уже есть, называется client1 (просто имя) и содержит атрибут (описание строки, рейтинг int) Строка в нем — Темные волосы, а рейтинг — 7. Это для программы сопоставления. В любом случае я пытаюсь сравнить Client1 («Темные волосы», 7) в методе getCompatability(); Поэтому с помощью этого метода я хочу вернуть показатели совместимости двух совпадающих характеристик или просто ноль, если описания не совпадают. Итак, это то, что я хочу сделать

public return_type getCompatability(характеристика otherRating) { Возьмите уже инициированные темные волосы объекта и 7 и установите их в переменные, чтобы я мог сравнить их со вторыми двумя введенными. }

Как только у меня будут все они в переменных, сравнить их будет просто. Также есть другой способ сравнить два объекта, возможно, getCompatability(Object, Объект), который сравнивает переменные двух объектов.

Ответ №1:

Я думаю, что вы хотите что-то вроде этого:

 public class Characteristic {
    private String description;
    private int rating;

    public Client(String description, int rating) {
        this.description = description;
        this.rating = rating;
    }

    public int getCompatability(Characteristic otherRating) {
        if (description == null amp;amp; otherRating.description != null || !description.equals(otherRating.description)) {
            return 0;
        }

        int compatability;
        // Perform comparison to calculate "compatability".
        return compatability;
    }
}
  

Затем его можно вызвать, сказав:

 Characteristic client1 = new Characteristic("Dark Hair", 7);
Characteristic client2 = new Characteristic("Dark Hair", 4);
Characteristic client3 = new Characteristic("Light Hair", 6);
client1.getCompatability(client2); // Returns non-zero compatability since descriptions are the same
client1.getCompatability(client3); // Returns zero compatability since descriptions are different
client2.getCompatability(client3); // Returns zero compatability since descriptions are different
  

Ответ №2:

может использовать

  client1.getCompatiblity(client2);



eg:
class ClientDetails {
    String description;
    int rating;
    //getter, setter

    public int getCompatibility(Object client) {
        //add null check amp; obj type check
        ClientDetails client1 = (ClientDetails) client;
        int count = 0;
        if (description.equals(client1.getDescription()) {
           count   ;
        }
        if (rating == client1.getRating()) {
           count   ;
        }
        return count;
    }
}