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 :

[Débutant] Programme qui affiche des chaînes de caractère


Sujet :

avec Java

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [Débutant] Programme qui affiche des chaînes de caractère
    Bonjour tout le monde, je suis débutant en Java et je dois réaliser un exercice fort simple mais qui me pose néanmoins problème...

    Voici l'énoncé: Réaliser un programme qui affiche une chaîne de caractères numériques ou une chaîne de caractères non numériques d'une longueur quelconque.

    Et voilà ce que j'ai tapé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    import java.util.Scanner;
    public class Programme21{
    public static void main(String[]args){
     
    String a;
    double b;
     
    Scanner premier=new Scanner(System.in);
     
    System.out.println("Veuillez entrer un caractere numerique ou non numerique au clavier:");
     
    a=premier.next();
    System.out.println("La valeur non numerique entree au clavier est:"+a);
     
    b=premier.nextDouble();
    System.out.println("La valeur numerique entree au clavier est:"+b);
     
    }}
    Le processus est bien exécuté mais le programme n'agit pas comme je le désire car il doit me donner la chaine de caractères OU de chiffres que j'ai tapée puis se fermer. Or, il me permet de taper une deuxième chaine de caractères ou de chiffres avant de s'arrêter.

    Merci d'avance pour votre aide

  2. #2
    Membre actif Avatar de Torg666
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 230
    Points : 254
    Points
    254
    Par défaut
    Tu peux faire ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    import java.util.Scanner;
     
    public class Programme21 {
     
    	/**
             * @param args
             */
    	public static void main(String[] args) {
    		Scanner in=new Scanner(System.in);
    		String saisi=null;
     
    		System.out.println("Veuillez entrer un caractere numerique ou non numerique au clavier:");
    		saisi=in.nextLine();
    		System.out.println("Vous avez saisi: "+saisi);
    	}
     
    }
    Quoique tu rentre, ça te l'affiche à l'écran
    La javaDoc est mon amie, elle est la tienne aussi!

  3. #3
    Membre actif Avatar de Torg666
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 230
    Points : 254
    Points
    254
    Par défaut
    ou si tu veux veux absolument un "numéric":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
     
    import java.util.Scanner;
     
    public class Programme21 {
     
    	/**
             * @param args
             */
    	public static void main(String[] args) {
    		Scanner in=new Scanner(System.in);
    		String saisi=null;
    		Double saisiDouble=null;
     
    		System.out.println("Veuillez entrer un caractere numerique ou non numerique au clavier:");
    		saisi=in.nextLine();
    		try{
    			saisiDouble=Double.parseDouble(saisi);
    			System.out.println("Vous avez saisi: "+saisiDouble);
    		}catch(NumberFormatException nfe){
    			System.out.println(saisi+" non numéric");
    		}
    	}
     
    }
    Ca dépend un peut de ce que tu entend par numéric... un int, un double, un long,... etc
    La javaDoc est mon amie, elle est la tienne aussi!

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut .
    Merci beaucoup ton premier exemple correspond bien à ce que je dois faire mais j'ai juste oublié de préciser que je ne suis pas encore sensé avoir appris les commandes de type 'try' et 'catch'.

    J'ai appris: If, swicht, while, do while et for.

    Donc voilà si tu as un peu de temps et que tu y arrives comme ca ca serait très sympa

  5. #5
    Membre actif Avatar de Torg666
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 230
    Points : 254
    Points
    254
    Par défaut
    Citation Envoyé par funy16 Voir le message
    Merci beaucoup ton premier exemple correspond bien à ce que je dois faire mais j'ai juste oublié de préciser que je ne suis pas encore sensé avoir appris les commandes de type 'try' et 'catch'.

    J'ai appris: If, swicht, while, do while et for.

    Donc voilà si tu as un peu de temps et que tu y arrives comme ca ca serait très sympa
    Le block try/catch sert à attraper les exceptions.
    ici si tu met pas le try/catch et que tu saisi par exemple A, ben ca va te sortir une exception car il sait pas transformer le A en Double.
    Là je me sert de l'exception pour signaler a l'utilisateur que c'est un gros boulet car il sait pas ce qu'est un numeric

    Je connais pas d'autre façon de faire autrement, en même temps les try/catch tu va bientôt les voir... c'est incontournable
    La javaDoc est mon amie, elle est la tienne aussi!

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut .
    Ok merci beaucoup Bonne fin d'après-midi

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Points : 95
    Points
    95
    Par défaut
    N'oublie pas le bouton si ton problème est réglé.

  8. #8
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Points : 459
    Points
    459
    Par défaut
    Salut,

    citation de Torg666 "ici si tu met pas le try/catch et que tu saisi par exemple A, ben ca va te sortir une exception car il sait pas transformer le A en Double."

    Et tu peux profiter du catch pour dire que c'est une chaine non numérique:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    import java.util.Scanner;
     
        public class ChaineNumOuNonNum
       {
           public static void main(String[] args)
          {
             Scanner in=new Scanner(System.in);
             String saisi = null;
             Double saisiDouble=0d;
     
             System.out.println("Veuillez entrer une chaine numerique ( >0 ou <0 ) ou non numerique au clavier:");
             saisi=in.nextLine();
             System.out.println("Vous avez saisi " + saisi + ":" );
     
             try
             {
                saisiDouble=Double.parseDouble(saisi);
                System.out.println("-C'est une chaine numérique.");
                return;
             }
                 catch(NumberFormatException nfe)
                {
                   System.out.println("-C'est une chaine non numérique.");
                   return;
                }
          }
       }
    Tu obtiens par exemple selon le cas:

    Vous avez saisi 12345:
    -C'est une chaine numérique.

    ou bien

    Vous avez saisi abcd 22345:
    -C'est une chaine non numérique.

    Cordialement,

    Dan

  9. #9
    Membre actif Avatar de Torg666
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 230
    Points : 254
    Points
    254
    Par défaut
    Citation Envoyé par danimo Voir le message
    Salut,

    citation de Torg666 "ici si tu met pas le try/catch et que tu saisi par exemple A, ben ca va te sortir une exception car il sait pas transformer le A en Double."

    Et tu peux profiter du catch pour dire que c'est une chaine non numérique:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    import java.util.Scanner;
     
        public class ChaineNumOuNonNum
       {
           public static void main(String[] args)
          {
             Scanner in=new Scanner(System.in);
             String saisi = null;
             Double saisiDouble=0d;
     
             System.out.println("Veuillez entrer une chaine numerique ( >0 ou <0 ) ou non numerique au clavier:");
             saisi=in.nextLine();
             System.out.println("Vous avez saisi " + saisi + ":" );
     
             try
             {
                saisiDouble=Double.parseDouble(saisi);
                System.out.println("-C'est une chaine numérique.");
                return;
             }
                 catch(NumberFormatException nfe)
                {
                   System.out.println("-C'est une chaine non numérique.");
                   return;
                }
          }
       }
    Tu obtiens par exemple selon le cas:

    Vous avez saisi 12345:
    -C'est une chaine numérique.

    ou bien

    Vous avez saisi abcd 22345:
    -C'est une chaine non numérique.

    Cordialement,

    Dan
    Heu c'est pas ce que je fais plus haut?
    En plus les return dans le main... faudrai expliquer l'interêt???
    La javaDoc est mon amie, elle est la tienne aussi!

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/04/2015, 11h02
  2. programme qui calcule le nombre de caractères d'une chaîne
    Par sk8trasher dans le forum Débuter
    Réponses: 15
    Dernier message: 21/06/2012, 10h12
  3. [Turbo Pascal] Ecrire un programme qui lit une chaîne de caractères
    Par agan2012 dans le forum Turbo Pascal
    Réponses: 9
    Dernier message: 22/02/2009, 21h46
  4. Réponses: 2
    Dernier message: 13/09/2008, 20h49
  5. Réponses: 4
    Dernier message: 13/04/2007, 16h26

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