En Java, y a-t-il un moyen de vérifier l’État :
« Ce caractère unique apparaisse tout en chaîne x »
sans utiliser une boucle ?
En Java, y a-t-il un moyen de vérifier l’État :
« Ce caractère unique apparaisse tout en chaîne x »
sans utiliser une boucle ?
String.contains()
qui vérifie si la chaîne contient une séquence donnée de char valeursString.indexOf()
qui renvoie l'index dans la chaîne de la première occurence du caractère spécifié ou une sous-chaîne (il y a 4 variantes de cette méthode)Je ne suis pas sûr de ce que l'affiche originale est poser exactement. Depuis indexOf(...) et(...) les deux probablement utiliser des boucles à l'interne, peut-être qu'il est à la recherche pour voir si cela est possible sans une boucle? Je pense à deux voies off à la main, on pourrait bien sûr être recurrsion:
public boolean containsChar(String s, char search) {
if (s.length() == 0)
return false;
else
return s.charAt(0) == search || containsChar(s.substring(1), search);
}
L'autre est beaucoup moins élégant, mais à l'exhaustivité...:
/**
* Works for strings of up to 5 characters
*/
public boolean containsChar(String s, char search) {
if (s.length() > 5) throw IllegalArgumentException();
try {
if (s.charAt(0) == search) return true;
if (s.charAt(1) == search) return true;
if (s.charAt(2) == search) return true;
if (s.charAt(3) == search) return true;
if (s.charAt(4) == search) return true;
} catch (IndexOutOfBoundsException e) {
// this should never happen...
return false;
}
return false;
}
Le nombre de lignes de croître que vous avez besoin de soutien de plus en plus longues chaînes de cours. Mais il n'y a pas de boucles/recurrsions à tous. Vous pouvez même supprimer la longueur de vérifier si vous êtes concernés par le fait que la longueur() utilise une boucle.
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.