IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Fixer la taille d'une String


Sujet :

avec Java

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 96
    Points : 58
    Points
    58
    Par défaut Fixer la taille d'une String
    Bonsoir
    j'ai envie de fixer la taille d'un string en 5 caractère.
    est ce que c'est possible avec la classe String
    merci d'avance

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 211
    Points : 137
    Points
    137
    Par défaut
    Qu'entend tu par fixer ?
    Tu veux dire initialiser ?

    Ou tu veux dire extraires les 5 premiers caractères?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String S="123456789";
    S=S.substring(0,5);

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 96
    Points : 58
    Points
    58
    Par défaut
    merci pour la réponse
    ni l'un ni l'autre, mais ce que je veux est de ne pouvoir saisir que
    5 caractère ni plus ni moins

  4. #4
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Points : 1 937
    Points
    1 937
    Par défaut
    Bonjour,

    La classe String ne permet pas de saisie donc tu regardes au mauvais endroit met avis.

    La classe String est juste une classe contenant une chaîne de caractère et étant immutable (une instance ne pouvant pas être modifiée) elle est de facto limitée à la taille de la chaîne qu'on a mis dedans.

    Pour limiter une saisie de caractère à 5, il faut se tourner vers des composants graphique comme un JTextField, JFormattedTextField etc...

    Bulbo
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 96
    Points : 58
    Points
    58
    Par défaut
    je ne vais pas faire une interface graphique rien que pour limiter la saisie
    à 5 caractère !!!

  6. #6
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    La question ici est : "comment est-ce que tu le rempli, ton objet String ?"
    C'est à ce moyen qu'il faut demander "pas plus ni moins que 5 caractères s'il vous plaît".

    Ta remarque laisse a penser que tu veux fixer la taille, mais en rentrant toi-même les valeurs en durs, ce qui n'a strictement aucun sens.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  7. #7
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Points : 1 937
    Points
    1 937
    Par défaut
    Qu'entends tu par limiter la saisie ?

    Dans le code ? A l’exécution du programme ?

    Qu'est ce qu'une saisie pour toi ?

    Si c'est dans le code et que tu veux qu'une String passée en argument n'ai pas plus de 5 caractères, la classe String ne t'aidera pas, il faut la spécialiser dans ce cas, même si je ne vois pas bien à quoi ça pourrait servir comparé à un test au bon endroit sur la taille de la String.
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

  8. #8
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 96
    Points : 58
    Points
    58
    Par défaut
    dans la console eclipse
    je demande à l'user de saisir une valeur en dur, une fois 5 caractères saisi, il ne peut plus rien saisir,
    et cette variable je l'exploite un peu plus loin pour concater une autre variable

  9. #9
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Pas faisable. Java ne gère pas assez la console pour pouvoir faire ça.
    Tant que l'utilisateur n'a pas appuyé sur Entrée il peut taper tout ce qui lui chante.

    Autrement dit c'est une fois qu'il l'a fait, qu'il faut vérifier si oui ou non ça dépasse 5 caractère, et si oui lui dire qu'il a pas le droit et recommencer.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 96
    Points : 58
    Points
    58
    Par défaut
    Ok
    merci pour ton explication, je vais essayer de faire autrement

  11. #11
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2010
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 104
    Points : 102
    Points
    102
    Par défaut
    Dans n'importe quel langage, si tu demande la saisie d'une chaine de caractère, l'utilisateur pourra toujours entrée ce qu'il veut.
    C'est seulement une fois la saisie validée par l'utilisateur que tu va pouvoir vérifier si oui ou non il y a 5 caractères ou pas.

    Certains outils de validation sont disponibles pour vérifier dynamiquement la saisie via javascript (je pense à Bean Validation pour les formulaires sur un site par exemple). Mais comme tu travailles en mode console, tu es obligé de gérer cette restriction après que l'utilisateur ait tapé sur "entrée", et de lui demander de recommencer si la chaine n'est pas valide.

    Je ne pense pas que tu puisses faire "autrement". Ou alors travailler avec une interface graphique et implémenter des listeners sur un champs texte qui évalueront dynamiquement que la saisie n'excède pas 5 characteres.

  12. #12
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 96
    Points : 58
    Points
    58
    Par défaut
    on mode swing je sais que je peux controler le textField
    mais comme ce n'est pas le but de mon TP qui ne veut pas l'utilisation des interface graphique mais que le mode console,
    mais je pensais que ça existe quelque en java pour bloquer la saisie,
    bref je vais controler le nombre de carctères saisi et je valide dans le cas ou c'est égale à 5 ou je redmande une saisie dans le cas contraire.

  13. #13
    Membre à l'essai
    Homme Profil pro
    Ingénieur système et développeur
    Inscrit en
    Septembre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur système et développeur

    Informations forums :
    Inscription : Septembre 2012
    Messages : 5
    Points : 16
    Points
    16
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Console con;
    if ((con = System.console()) != null) {
        char[] c = new char[5];
        con.reader().read(c);
        System.out.print(Arrays.toString(c));
    }
    Permets de lire les 5 premiers caractères de l'entrée standard. Malheureusement, comme le précisent les autres posts, la lecture se fera une fois la touche "Enter" appuyée...

  14. #14
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par Doudoupe Voir le message
    Dans n'importe quel langage, si tu demande la saisie d'une chaine de caractère, l'utilisateur pourra toujours entrée ce qu'il veut.
    Rien n'empêchera jamais l'utilisateur de taper sur des touches du clavier, ça c'est sûr.
    Mais assez souvent, il est parfaitement possible de lui afficher un message d'erreur s'il dépasse, et de ne juste pas afficher ni tenir compte de ce qu'il a tapé et qui dépasse.

    Il se trouve que Java ne gère pas assez la console pour contrôler cela. Mais :
    - ça ne concerne que la console. Il peut très bien le faire en interface graphique.
    - beaucoup d'autres langages le peuvent (et en réalité ce n'est pas impossible en Java si on ajoute une bibliothèque native adaptée à l'OS. Mais c'est atrocement compliqué et pas le genre de trucs adapté aux débutants.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [HTML]comment fixer la taille d'une select (combobox) ?
    Par VerrNum dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 07/07/2008, 11h42
  2. [Debutant] Fixer la taille d'une interface graphique
    Par etiennegaloup dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 25/02/2006, 12h03
  3. Fixer la taille d'une fenêtre
    Par rockelite dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 24/12/2005, 13h09
  4. Fixer la taille d'une cellule d'un tableau
    Par Philofish dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 25/08/2005, 16h04
  5. [JDBC] Forcer la taille d'une string
    Par julio123 dans le forum JDBC
    Réponses: 4
    Dernier message: 10/06/2004, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo