数组重复元素

时间:2011-09-06 04:57:35

标签: java arrays primitive

我试图让用户输入元素,但如果用户输入重复元素,我的方法应该返回false。到目前为止,这就是我所拥有的......提前谢谢你!

public boolean setGuess(int index, int value) // required by instructor
{ 
    int [] guesses = new int[countVal]; //countVal is array length
    for (int i = 0; i < guesses.length; i++)
        for (int j = 0; j < i; j++)
        {
            if (guesses[i] == guesses[j])
                return false;
        }
    return true;
}

3 个答案:

答案 0 :(得分:2)

boolean hasRepeatedElement = new HashSet(Arrays.asList(arr)).size() == arr.length;

答案 1 :(得分:0)

虽然你没有提出一个真正的问题,但很明显你会遇到麻烦,因为你分配了一个整数数组,但从来没有用任何东西填充它们。然后你开始寻找重复项。

如果您的问题是“这对我不起作用”,那么这是一个值得关注的地方。

另一个是你有一个名为setGuess的方法,它根本不像一个应该寻找重复的方法。事实上它被称为setGuess并且是“教师所要求的”意味着这项任务的内容远远超过你的问题。

考虑扩大问题,然后我可以撤回这个答案,这个评论太长了......

答案 2 :(得分:0)

在同一个问题中更多 1.代替 guesses.length 你可以使用 countVal
2.使用“int index, int value”参数是什么,你没有在方法中使用。 3.声明guesses[]在所有索引中只有0,所以"guesses [i] == guesses[j]"没有意义。

尝试回答以上所有要点,将有助于您更好地编码。