2011-09-06 4 views
-4

J'essaie de demander à un utilisateur d'entrer des éléments, mais si l'utilisateur entre un élément répété, ma méthode devrait renvoyer false. Jusqu'ici c'est ce que j'ai ... Merci d'avance!Array éléments répétés

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; 
} 
+6

Alors, quelle est votre question? Ne compile pas? ne vous donne pas ce que vous voulez? – Swagatika

+0

Je pense que la question est "Comment puis-je faire cela?" –

+0

Il convient également de mentionner que vous avez une fuite de mémoire avec l'attribution des estimations et que vous ne supprimez jamais [] ce fichier. – Corbin

Répondre

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

Bien que vous n'avez pas demandé une vraie question, il est évident que vous assez allez avoir des ennuis parce que vous avez alloué un tableau d'entiers, mais jamais les remplirent de quoi que ce soit. Ensuite, vous commencez à chercher des doublons.

Si votre question était "cela ne fonctionne pas pour moi" alors c'est un endroit à regarder.

Un autre est que vous avez une méthode appelée setGuess qui ne ressemble pas du tout à une méthode qui devrait rechercher des doublons. Le fait qu'il soit appelé setGuess et qu'il soit "requis par l'instructeur" signifie qu'il y a beaucoup plus à faire à cette tâche que vous n'en avez dans votre question.

la question d'envisager d'élargir, je peux retirer cette réponse, qui était trop long pour un commentaire ....

0

Plus sur la même question 1. à la place de guesses.length u peut utilisez countVal.
2. Quelle est l'utilisation des paramètres "int index, int value" que vous n'utilisez pas dans la méthode. 3. en déclarant guesses[] aura seulement 0 à tous les index, donc "guesses [i] == guesses[j]" n'a aucune signification. Essayez de répondre à tous les points ci-dessus, vous aidera à mieux coder.

Questions connexes