Accepter les 2 Cordes et d'afficher des caractères en eux
Je suis en utilisant le code ci-dessous pour trouver les caractères communs à deux cordes. Parfois, ce code génère de mauvais résultats comme de donner la valeur de sortie qui est plus grande que la longueur de chaîne.
for(int i = 0;i < num1.length();i++){
for(int j =0;j < num2.length();j++){
if(num1.charAt(i) == num2.charAt(j)){
count++;
}
}
}
- utilisation num1.charAt(i).equals(num2.charAt(j)) au lieu de == pour la comparaison de chaînes
- Il est la comparaison des caractères? Je ne pense pas que vous avez besoin
.equals
. - double possible de Comment puis-je comparer les chaînes de caractères en Java?
- Nombre peut aller au-delà de la longueur de la chaîne dans le cas où certains personnages se dupliqué dans une chaîne. Vous voudrez peut-être garder l'ajout de la copie de personnages pour un jeu
- Non, l'utilisation des "égaux" n'est pas nécessaire". charAt" renvoie à un "char" de la valeur qui peut être comparé avec ==.
- Veuillez donner un exemple de votre entrée/sortie
- en raison de boucle interne, vous obtenez de meilleurs résultats. Et nombre peut aller au-delà de la longueur de la chaîne dans le cas où certains personnages se dupliqué dans une chaîne
Vous devez vous connecter pour publier un commentaire.
Il n'est pas clair ce que vous essayez d'atteindre.
Votre code peut produire des résultats supérieurs à la longueur de la chaîne à cause des personnages qui apparaissent plus d'une fois dans vos cordes. Vous pouvez obtenir des résultats allant jusqu'à num1.longueur() * num2.longueur().
Dans le cas où vous souhaitez obtenir le nombre de positions au cours de laquelle vous avez le même personnage dans les deux chaînes, vous pouvez à ce que dans une boucle, et d'utiliser le même indice pour le "charAt" des appels sur les deux chaînes:
Dans le cas où vous souhaitez obtenir le nombre de lettres qui apparaissent dans les deux chaînes, courir à travers les deux chaînes de façon indépendante et à ajouter les lettres à un ensemble. Alors l'intersection de deux ensembles. Le nombre d'éléments dans cette intersection set est votre résultat:
Vous pouvez essayer quelque chose comme ceci en utilisant HashSet
Reportez-vous à retainAll sur la façon dont l'intersection de 2 ensembles.
Les Chaînes D'Entrée:
De sortie:
Utiliser org.apache.commons.lang.StringUtils à compter des matchs comme ça
Cela se traduit dans le nombre 3 dans l'exemple ci-dessus