0

私がする必要があるのは、2 人の顧客の評価間の内積距離を計算することです。顧客の評価はハッシュマップに記録されます。

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;
4

1 に答える 1

0

おそらく、メンバーフィールド

private RatingsMap ratings;

inRatingsAnalysisMap名前 => 評価です。distanceメソッドでのタスクは次のとおりです。

  1. 評価を調べてname1name2ローカル変数に保存します (ヒント:インターフェイスgetで定義されたメソッドを使用しMapます) 。
  2. 上記で取得した 2 つの評価に対して内積分析を実行します。これを行う方法を知っているかRating、この質問の a に関してその意味についてより多くの情報を提供する必要があります。
  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 ....
    }
}
于 2012-05-24T11:31:45.080 に答える