Problème avec un ensemble des entiers en java

Résolu/Fermé
geninfo25 Messages postés 10 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 25 janvier 2012 - 25 janv. 2012 à 12:53
geninfo25 Messages postés 10 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 25 janvier 2012 - 25 janv. 2012 à 15:27
Bonjour,

je veux faire ca m
 if(s.charAt(i)=[0.9]){
         return true;
  }
mais l'instruction [0.9]n'est pas juste je veux savoir comment la faire en java
avec l'instruction s.charat(i)=[0.9] je veux dire que la chaîne de caractère s ne contient que des chiffres
merci d'avance .
A voir également:

3 réponses

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
25 janv. 2012 à 13:00
Il faudrait que tu (re)apprennes les bases du langage Java !!!
Si tu ne sais pas comparer deux caractères c'est même pas la peine d'essayer de faire plus compliqué...

return s.charAt(i)>='0' && s.charAt(i)<='9';
0
geninfo25 Messages postés 10 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 25 janvier 2012
25 janv. 2012 à 13:33
moi je veux comparer si une chaîne de caractère si elle ne contient que des double ou bien elle contient des caractère ou des caractères et des doubles
c'est pour ça je fais la boucle for + un instruction de condition comme ça :

public boolean verifier(String s){
          
            for(int i=0; i<s.length();i++){
                if(s.charAt(i)== un nombre double de 0 à 9 plus la virgule si elle  existe ){
                 n++;  
                }                     
            }
            if(s.length()==n){
                return true;
            }else{
                return false;
             
            }
}

mon problemme est comment expliquer en java la phrase : un nombre double de 0 à 9 plus la virgule si elle est existe .
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
25 janv. 2012 à 14:13
Tu dois faire comme je l'ai mis plus haut, il faut juste lire !!!
s.charAt(i)>='0' && s.charAt(i)<='9'
Sauf que depuis tu as rajouté la condition virgule, il faut donc rajouter ce cas :
(s.charAt(i)>='0' && s.charAt(i)<='9') || s.charAt(i)=='.'
Remarque : en général pour faire ça on ne s'embête pas, on convertit directement en double avec Double.parseDouble(String s), et on récupère l'exception au besoin, ça évite d'avoir à gérer soi même tous les cas genre avoir une seule virgule, avoir éventuellement un + ou un - devant, accepter la notation scientifique etc...

try
{
    double d = Double.parseDouble(s);
    return true;
}
catch (Exception e)
{
    System.err.println(e);
    return false;
}
La confiance n'exclut pas le contrôle
0
geninfo25 Messages postés 10 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 25 janvier 2012
25 janv. 2012 à 15:27
merci kx l'utilisation d'une exception c'est la bonne solution
0