1

String ユーザー ID が渡されるライブラリがあるため、その String ユーザー ID に基づいて、これら 3 つの色のいずれかのみを選択する必要があります。

RED
BLUE
PINK

たとえば、ユーザーID が文字列である場合は、次に同じユーザー IDが渡された場合12345に選択できるため、同じ RED 色のみを選択する必要があります。String userid が である場合の別の例です。この場合、次に同じユーザー IDが渡された場合に選択できるため、同じ色のみを選択する必要があります。RED1234598765BLUE98765BLUE

アイデアは同じユーザーIDのためのもので、常に同じ色を選択する必要があります。最初に 1 つの色を選択し、次に別の色を選択するのと同じユーザー ID であってはなりません。

同じユーザーIDに対して常に同じ色を選択できるように、ここでユーザーIDに使用できるハッシュ手法は何ですか?

public enum Colors {
    RED, BLUE, PINK;        


    private String pickColor(String userid) {


    }
}
4

2 に答える 2

2

これはトリックを行います:

int userColor = userName.hashCode() % numberOfColors;
于 2016-02-16T19:14:19.973 に答える
1

userName.hashCode() % Colors.values().length()トリックを行うでしょう。ただし、列挙型を変更する必要がある場合があります

public enum Colors {
    RED (0),
    BLUE (1),
    PINK(2);

/* write method to find enum by value */
}
于 2016-02-16T19:21:23.440 に答える