Расчет расстояния дотпродукта в Java

Что мне нужно сделать, так это рассчитать расстояние между точками и рейтингом двух клиентов. Рейтинги клиентов записываются в хэш-карту.

private HashMap<String,int[]> ratingmap;

Ключом в хэш-карте является имя клиента, и с ним связаны рейтинги этого клиента (его оценки книг)

Как я это сделаю?

/**
 * calculate dot product distance between the ratings of two customers
 * @param name1 String name of customer 
 * @param name2 String name of customer 
 * @return int distance or ILLEGAL_INPUT if name1 or name2 are not customers
 */
public int distance(String name1, String name2) 
{
    return 0; //replace with code
}

А вот другая деталь, приведенная на RatingsAnalysis учебный класс

//collection of rated book titles
private BookList books;
//collection of customers and their ratings
private RatingsMap ratings;
//use a list of customer names from the ratings map for looping through the map
private ArrayList<String> customernames;

1 ответ

Предположительно, членское поле

private RatingsMap ratings;

в RatingsAnalysis это Map имен => рейтинги. Ваша задача в distance метод это:

  1. Посмотрите рейтинг для name1 а также name2 и сохранить их в локальных переменных (подсказка: используйте get метод, определенный на Map интерфейс)
  2. Выполните точечный анализ продуктов по этим двум оценкам, которые вы получили выше. Вы либо знаете, как это сделать, либо вам необходимо предоставить больше информации о его значении для Rating в этом вопросе.
  3. Вернуть результат

Как примечание, RatingsMap может и должен быть напечатан более строго:

private RatingsMap<String, Rating> ratings;

РЕДАКТИРОВАТЬ: Требуется добавить код скелета...

public int distance(String name1, String name2) 
{
    Rating r1 = this.ratings.get(name1);
    Rating r2 = this.ratings.get(name2);

    if(r1 != null && r2 != null) { 
       return ....
    }
}
Другие вопросы по тегам