我试图让用户输入元素,但如果用户输入重复元素,我的方法应该返回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;
}
答案 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]"
没有意义。
尝试回答以上所有要点,将有助于您更好地编码。