117 votes

Comment vérifier si un caractère est égal à un espace vide ?

Voilà ce que j'ai :

private static int countNumChars(String s) {
    for(char c : s.toCharArray()){
        if (Equals(c," "))
    }
}

Mais ce code dit qu'il ne peut pas trouver de symbole pour cette méthode. Je me souviens que Java avait un comparateur comme celui-ci... Des suggestions ?

11voto

codaddict Points 154968

Pour comparer les caractères, vous utilisez le == opérateur :

if (c == ' ')

7voto

vbevans94 Points 571

Character.isSpaceChar(c) || Character.isWhitespace(c) a fonctionné pour moi.

4voto

Glenn Nelson Points 2181

Dans ce cas, vous pensez à la fonction de comparaison des chaînes de caractères. "String".equals("some_text") . Les caractères n'ont pas besoin d'utiliser cette fonction. A la place, une fonction standard == suffira.

private static int countNumChars(String s) {
    for(char c : s.toCharArray()){
        if (c == ' ') // your resulting outcome
    }
}

3voto

bakoyaro Points 1419

A première vue, votre code ne compilera pas. Puisque l'instruction if imbriquée n'a pas d'accolades, il considérera la ligne suivante comme le code qu'il doit exécuter. En outre, vous comparez un caractère à une chaîne de caractères, " ". Essayez plutôt de comparer les valeurs sous forme de caractères. Je pense que la syntaxe correcte serait :

if(c == ' '){
   //do something here
}

Mais encore une fois, je ne suis pas familier avec les "Equal" classe

3voto

A-Sharabiani Points 5287

Vous pouvez essayer :

if(Character.isSpaceChar(ch))
{
    // Do something...
}

Ou :

if((int) ch) == 32)
{
    // Do something...
}

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