3 votes

Comparer deux tableaux de type différent, imprimer l'élément dans le même "slot" Java

Je travaille donc sur la comparaison de deux tableaux en fonction d'une entrée utilisateur. Un tableau est un tableau d'int, l'autre est une chaîne de caractères. Ce que je veux faire, c'est prendre une entrée de l'utilisateur, comparer l'entrée au premier tableau d'int, puis calculer l'élément dans la même position du tableau de string, puis imprimer mes résultats sur la base du deuxième tableau. Comme ci-dessous, je saisirais 12 et obtiendrais bob ou 21 et obtiendrais andrea. Exemple de code ci-dessous. J'ai tout jusqu'à la comparaison du second tableau (j'ai l'entrée de l'utilisateur, je le trouve dans le tableau int - la boucle, mais je n'arrive pas à comprendre la comparaison avec le second tableau).

int[] number = {12, 15, 19, 21}
String[] character = {bob, sally, james, andrea} 

Je dois simplement comparer les deux tableaux et les enregistrer dans une nouvelle variable :

number = character

puis imprimer la nouvelle valeur des variables ?

merci pour l'aide. j'ai cherché partout pour celui-ci. j'ai surtout passé un jour et demi sur ce site web.

2voto

Bhesh Gurung Points 24875

Vous pouvez utiliser un Map ici.

Instanciation et remplissage de la carte :

Map<Integer, String> numberToNameMap = new HashMap<Integer, String>();
numberToNameMap.put(12, "bob");
//...

Et ensuite faire une recherche :

String name = numberToNameMap.get(inputNumber);

1voto

dasblinkenlight Points 264350

Vous n'avez pas besoin de comparer tout ce qui concerne le deuxième tableau : une fois que vous avez l'indice de l'élément correspondant dans le premier tableau, il suffit d'utiliser cet indice contre le deuxième tableau. C'est tout ce qu'il y a à faire !

int[] number = {12, 15, 19, 21};
String[] character = {"bob", "sally", "james", "andrea"};
int userInput = ... // <<== You know how to do all that 
for (int i = 0 ; i != number.length ; i++) {
    if (number[i] == userInput) {
        // Element at index i is matching:
        System.out.println(character[i]);
        break;
    }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X