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 :

Exercices en java à corriger


Sujet :

avec Java

  1. #21
    Membre averti
    Inscrit en
    Août 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 30
    Par défaut
    Maintenant, si je veux l'inverse, càd, le minimum d'une série de valeurs entrées au clavierau et au lieu d'afficher le max on affiche le min, qu'est-ce que je peux faire? par quoi je peux initialiser la variable Min (Max) en entrant toujour les valeurs positifs ?

  2. #22
    Membre émérite Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Par défaut
    Integer.MAX_VALUE dans l'affichage d'un min
    Integer.MIN_VALUE dans l'affichage d'un max

  3. #23
    Membre Expert
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Par défaut
    dans ce cas tu dois supposé que ta première valeur est le min

    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
    28
    29
    30
    31
    32
    import java.util.Scanner;
     
    public class Max 
    {	
    	public static void main(String[] args) 
    	{		
    		System.out.print("Ce programme vous permet d'écrire une série de nombres ");
    		System.out.println("entiers positifs.");
    		System.out.println("Pour arrêter la saisie, veuillez entrer le mot: \"0\"");
     
    		Scanner sc = new Scanner(System.in);		
    		int n,Min;
     
                    System.out.println("\nVeuillez entrez un nombre svp:");
    		n = sc.nextInt(); 	        
                    Min = n
     
    		while(n != 0) {				
     
    			if(n>0){
                                //compare a chaque fois, pour garder le plus petit
                                if (n < Min) Min = n; 
    			    System.out.println("Votre nombre est: "+ n);	
                            }	
     
    		        System.out.println("\nVeuillez entrez un nombre svp:");
    			n = sc.nextInt();
    		};
    		//Affiche le plus petit nombre de la serie
                    System.out.println("Le plus petit nombre de la serie est : "+ Min);	
    	}
    }

  4. #24
    Membre chevronné
    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
    Par défaut
    Citation Envoyé par Heimdal Voir le message
    Integer.MAX_VALUE dans l'affichage d'un min
    Integer.MIN_VALUE dans l'affichage d'un max
    Ces 2 fonctions donnent respectivement la plus grande valeur d'un type int et sa plus petite valeur, mais ni la plus grande valeur d'une serie, ni sa plus petite valeur.

    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int valMax = Integer.MAX_VALUE;
    donnera: 2147483647

    Cordialement,

    Dan

  5. #25
    Membre averti
    Inscrit en
    Août 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 30
    Par défaut
    Très bonne idée de supposer que la première valeur est le min, oui ça marche très bien merci beaucoup sovo.

    Merci encore à Heimdal pour le Integer.MIN_VALUE il marche très bien avec mon premier code.

    Mais danimo j'ai testé Integer.MIN_VALUE il donne la plus petite valeur d'une série de nombres entrées au clavier.

    J'ai une question: quand j'entre dans une boucle infinie par quoi je doit arrêter le système sans que je ferme la fenêtre d'eclipse ?

    Merci d'avance.

  6. #26
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    Citation Envoyé par Sendmi Voir le message
    J'ai une question: quand j'entre dans une boucle infinie par quoi je doit arrêter le système sans que je ferme la fenêtre d'eclipse ?
    Dans la console d'Eclipse il y a un bouton d'arrêt qui permet de stopper l'exécution :
    Nom : console.JPG
Affichages : 73
Taille : 39,3 Ko

    Si la console n'est pas affichée, cherche dans le menu : "Window">"Show View">"Console" (modulo traduction du menu...).

  7. #27
    Membre Expert
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Par défaut
    Citation Envoyé par Sendmi Voir le message
    Très bonne idée de supposer que la première valeur est le min, oui ça marche très bien merci beaucoup sovo.
    De rien

    Citation Envoyé par Sendmi Voir le message
    Merci encore à Heimdal pour le Integer.MIN_VALUE il marche très bien avec mon premier code.

    Mais danimo j'ai testé Integer.MIN_VALUE il donne la plus petite valeur d'une série de nombres entrées au clavier.
    Certes ca marche, mais c'est pas très adapter à mon gout

    Citation Envoyé par Sendmi Voir le message
    J'ai une question: quand j'entre dans une boucle infinie par quoi je doit arrêter le système sans que je ferme la fenêtre d'éclipse ?
    Arrêter l'exécution tout simplement, le Carré Rouge dans la fenêtre de console

  8. #28
    Membre averti
    Inscrit en
    Août 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 30
    Par défaut
    Merci Astartee et sovo le carré rouge marche bien.

    Désolé danimo je me suis trompé le Integer.MIN_VALUE ces 2 fonctions ne donnent ni la plus grande valeur d'une serie, ni sa plus petite valeur.


    Merci infiniment de vos aides.

  9. #29
    Membre émérite Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Par défaut
    Ces 2 fonctions donnent respectivement la plus grande valeur d'un type int et sa plus petite valeur, mais ni la plus grande valeur d'une serie, ni sa plus petite valeur.
    :o Serieux???

    Je répondais simplement à la question de l'initialisation de min ou max.

  10. #30
    Membre chevronné
    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
    Par défaut
    Salut,

    Désolé Heimdal, mais d'après ce que dit Sendmi qui l'a éssayé,c'est ok.

    Par contre (je n'ai pas encore cherché) il ne dit pas comment s'effectue le test. Comme quoi on en apprend tous les jours (ou presque...).

    Sur ce je vais consulter la doc.

    Cordialement,

    Dan

    Édition: en fait ce nétait pas ok

  11. #31
    Membre averti
    Inscrit en
    Août 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 30
    Par défaut
    @ Heimdal:

    C'est pas grave, dans tout les cas, merci beaucoup de m'avoir répondu.

  12. #32
    Membre émérite Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Par défaut
    Pas besoin d'aller voir la doc tes remarques sont justes.
    On s'embrouille un peu la.

    Je voulais simplement en venir à ca:

    Fonction MAX:

    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
    public class Max 
    {	
    	public static void main(String[] args) 
    	{		
    		System.out.print("Ce programme vous permet d'écrire une série de nombres ");
    		System.out.println("entiers positifs.");
    		System.out.println("Pour arrêter la saisie, veuillez entrer le mot: \"0\"");
     
    		Scanner sc = new Scanner(System.in);		
    		int n;
                    int max = Integer.MIN_VALUE;
     
    		do{				
    			System.out.println("\nVeuillez entrez un nombre svp:");
    			n = sc.nextInt();
                                //compare a chaque fois, pour garder le plus grand
                                if (n > max) {
    max = n; 
    }
    			    System.out.println("Votre nombre est: "+ n);			
     
    		}while(n != 0);
    		//Affiche le plus grand nombre de la serie
                    System.out.println("Le plus grand nombre de la serie est : "+ max);	
    	}
    }
    Fonction MIN:
    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
    public class Min
    {	
    	public static void main(String[] args) 
    	{		
    		System.out.print("Ce programme vous permet d'écrire une série de nombres ");
    		System.out.println("entiers positifs.");
    		System.out.println("Pour arrêter la saisie, veuillez entrer le mot: \"0\"");
     
    		Scanner sc = new Scanner(System.in);		
    		int n;
                    int min = Integer.MAX_VALUE;
     
    		do{				
    			System.out.println("\nVeuillez entrez un nombre svp:");
    			n = sc.nextInt();
                                //compare a chaque fois, pour garder le plus petit
                                if (n < min) {
    min = n; 
    }
    			    System.out.println("Votre nombre est: "+ n);			
     
    		}while(n != 0);
    		//Affiche le plus petit nombre de la serie
                    System.out.println("Le plus petit nombre de la serie est : "+ min);	
    	}
    }
    Après dire qu'un algo est plus adapté qu'un autre pour ce genre de babiole, je ne sais trop...

    Banzai

  13. #33
    Membre Expert
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Par défaut
    Citation Envoyé par danimo Voir le message
    Salut,

    Désolé Heimdal, mais d'après ce que dit Sendmi qui l'a éssayé,c'est ok.
    Citation Envoyé par Sendmi Voir le message
    Désolé danimo je me suis trompé le Integer.MIN_VALUE ces 2 fonctions ne donnent ni la plus grande valeur d'une serie, ni sa plus petite valeur.
    désole relis bien ca ne fait pas ce qu'il veut.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Integer.MAX_VALUE 
    Integer.MIN_VALUE
    Renvoient respectivement la plus grande et la plus petite valeur du type int et pas d'une serie de nombre entré au clavier comme le demandais Sendmi

  14. #34
    Membre chevronné
    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
    Par défaut MAX_VALUE MIN_VALUE
    Salut,

    Jétais sans internet jusqu'à maintenant alors que j'avais préparé ceci:


    Sendmi,

    Je préfère ne pas m'être trompé...

    Bon, puisqu'on a parlé de MAX_VALUE, par curiosité entre une valeur > 2147483647, pour constater ce qui se passe (si tu veux...).

    Tu peux également éssayer avec la valeur (hors sujet puisquón te demande d'entrer un entier positif) -2147483649 ( la valeur min d'un int étant -
    2147483648)

    C'est valable aussi pour l'exercice n° 6.
    Dan

  15. #35
    Membre chevronné
    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
    Par défaut
    Heimdal

    Cas avec class Max
    Si on entre n > max:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    n = sc.nextInt(); // ici le "mal "est déjà fait >>> exception
                                //compare a chaque fois, pour garder le plus grand
                if (n > max) {
                   max = n; 
                }
    Cas class Min
    Si on entre n < min:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    n = sc.nextInt(); // >>>> également exception
                                //compare a chaque fois, pour garder le plus petit
                                if (n < min) {
    min = n; 
    }
    Cordialement,

    Dan

  16. #36
    Membre averti
    Inscrit en
    Août 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 30
    Par défaut
    Citation Envoyé par sovo Voir le message

    Renvoient respectivement la plus grande et la plus petite valeur du type int et pas d'une serie de nombre entré au clavier comme le demandais Sendmi

    Pouvez-vous me donner un exemple sur l'utilité de ces deux fonctions? (le Integer.MAX_VALUE et le Integer.MIN_VALUE)

    @danimo:

    Bon, puisqu'on a parlé de MAX_VALUE, par curiosité entre une valeur > 2147483647, pour constater ce qui se passe (si tu veux...).

    Tu peux également éssayer avec la valeur (hors sujet puisquón te demande d'entrer un entier positif) -2147483649 ( la valeur min d'un int étant -
    2147483648)

    C'est valable aussi pour l'exercice n° 6.

    Pouvez-vous m'expliquer encore plus ?

    Merci d'avance.

  17. #37
    Membre chevronné
    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
    Par défaut
    Salut,

    Rappel:
    Les primitives byte, short, int, long,float et double ne peuvent recevoir que des données numériques, mais pas nomporte quelle valeur.
    Pour chacune d'entre elles cette valeur est la valeur comprise dans les limites (comprises) d'une valeur minimale à une valeur maximale.

    Par exemple:

    VALEUR MINI d'un BYTE.
    >>>> byte min_byte = Byte.MIN_VALUE;
    La valeur minimale d'un byte est -128


    VALEUR MAXI d'un BYTE.
    >>>> byte max_byte = Byte.MAX_VALUE;
    La valeur maximale d'un byte est 127

    Une donnée de type byte peut donc recevoir une valeur de -128 à +127.
    À noter que ces limites sont facile à retenir.


    VALEUR MINI d'un INT.
    >>>> int min_int = Integer.MIN_VALUE;
    La valeur minimale d'un int est -2147483648


    VALEUR MAXI d'un INT.
    >>>> int max_int = Integer.MAX_VALUE;
    La valeur maximale d'un int est 2147483647

    Une donnée de type int peut donc recevoir une valeur de -2147483648 à +2147483647.
    Ces valeurs sont déjà moins faciles à retenir...
    Il est donc inutile de les retenir. Si nous avons besoin de les utiliser MIN_VALUE et MAX_VALUE nous les donneront.

    J'en arrive maintenant à 2 utilisations possibles dans les exercisses 6 et 7:
    (MIN_VALUE ne sera pas utilisée dans ces exemples car il est demandé d'entrer soit la valeur 0 pour terminer, soit un entier (d'où l'utilisation d'un int) de valeur positive )
    Nous avons la demande de saisie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("\nVeuillez entrer un nombre svp:");
    que nous pouvons remplacer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("\nVeuillez entrer un nombre de valeur minimale 0 pour terminer et maximale " + max_int  + " svp:");
    Mais ce n'est pas parce qu'on précise les limites que l'utilisteur les respectera.
    C'est pour celà que je t'ai demandé d'entrer une valeur >2147483647, l'as-tu testé?
    Bien entendu il y aura une erreur (je te laisse découvrir laquelle) et nous devrons la signaler à l'utilisateur.
    Par exemple comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("\nVous avez saisi une valeur supérieure à la valeur maxi " + max_int);
    Cordialement,

    Dan

  18. #38
    Membre averti
    Inscrit en
    Août 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 30
    Par défaut
    Bonjour,

    Désolé pour ce retard, et je te remercie infiniment danimo, j'ai bien compris maintenant le fonctionnement de ces deus fonctions, donc ce n'est pas utile de les utilisés puisqu'on veux seulement les entiers strictement positifs. J'ai le test et une exception est levée dit:

    Veuillez entrez un nombre svp:
    3147483647
    Exception in thread "main" java.util.InputMismatchException: For input string: "3147483647"
    at java.util.Scanner.nextInt(Unknown Source)
    at java.util.Scanner.nextInt(Unknown Source)
    at Max2.main(Max2.java:17)

    Donc c'est ça l'ereur pour faire continer l'execution du programme on utiliser le bloc try et catch, n'est-ce pas ?

    Jai fais ces deux bloc mais malheureusement ça marche pas, il me fallait faire quelque chose encore, laquelle Je ne sais pas.

    Voici le code:

    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
    28
    29
    30
    31
    32
    33
    34
    35
    import java.util.InputMismatchException;
    import java.util.Scanner;
     
    public class Max2 
    {	
    	public static void main(String[] args) 
    	{		
     
    	Scanner sc = new Scanner(System.in);		
    	int n;
                 int max_int = Integer.MAX_VALUE;
                 int max=0;
                 System.out.println("\nVeuillez entrer un nombre compris entre une valeur minimale 0 (pour terminer) et maximale " + max_int  + " svp:");
     
    	        do{		
    		n = sc.nextInt();
    		try{
                                  //compare a chaque fois, pour garder le plus grand
                                  if (n > max) 
                                  {
                           	        max = n; 
                                  }
    	             }		    
    	             catch(InputMismatchException e)
    		 {
    		       e.printStackTrace();
    		       System.out.println("\nVous avez saisi une valeur supérieure à la valeur maximale " + max_int);
    	              }
    		System.out.println("Votre nombre est: "+ n);
     
    	      }while(n != 0);
    	//Affiche le plus grand nombre de la serie
                 System.out.println("Le plus grand nombre de la serie est : "+ max);	
    	}
    }

    Merci beaucoup de vos aides.

  19. #39
    Membre chevronné
    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
    Par défaut Bloc try/catch
    Salut,

    C'est exactement ce que j'espérais que tu découvres...

    Mais, oui il y a un mais:

    Si tu lis bien le message de l'exception tu constateras que l'erreur n'est pas provoquée par
    mais par
    Donc ton try { est mal pacé

    déplace-le ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     try{		
                   n = sc.nextInt();
    Mais (encore un)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      catch(InputMismatchException e)
                   {
                      e.printStackTrace();
                      System.out.println("\nVous avez saisi une valeur supérieure à la valeur maximale " + max_int);
    // sans la ligne suivante on bouclerait sur l'erreur
    sc = new Scanner(System.in); 
                      
                   }
    Et à propos de la boucle il faut y inclure la demande de saisie, donc il faut déplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                 System.out.println("\nVeuillez entrer un nombre compris entre une valeur minimale 0 (pour terminer) et maximale " + max_int  + " svp:");
    ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     do{
                System.out.println("\nVeuillez entrer un nombre d'une valeur minimale 0 (pour terminer) et maximale " + max_int  + " svp:");
                try{		
                   n = sc.nextInt();
                                  //compare a chaque fois, pour garder le plus grand
    remarque: j'ai légèrement modifié le texte...

    Une autre remarque:

    L'erreur se produit également si on entre une valeur non numérique, donc il faudrait adapter le texte:
    Vous avez saisi......, ou non numérique

    Cordialement,

    Dan

    Édition:

    déplacer aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("Votre nombre est: "+ n);
    ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                try{		
                   n = sc.nextInt();
                   System.out.println("Votre nombre est: "+ n);

  20. #40
    Membre averti
    Inscrit en
    Août 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 30
    Par défaut
    Bonjour danimo,

    J'ai fais vos suggestions et le code marche très bien, le voici:

    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
    28
    29
    30
    31
    32
    33
    import java.util.InputMismatchException;
    import java.util.Scanner;
     
    public class Max2 
    {	
         public static void main(String[] args) 
         {		
            Scanner sc = new Scanner(System.in);			
            int max_int = Integer.MAX_VALUE;
            int n=0, max=0;               		
    	do{	
    	     System.out.println("\nVeuillez entrer un nombre compris entre une valeur minimale 0 (pour terminer) et maximale " + max_int  + " svp:");		    
    	       try{
    	                 n = sc.nextInt();
    	                 //compare a chaque fois, pour garder le plus grand
                                     if (n > max)                     
                                     max = n;                    
    	       }		    
    	       catch(InputMismatchException e)
    	       {
    	           e.printStackTrace();
    	           System.out.println("\nVous avez saisi une valeur supérieure à la valeur maximale " + max_int);
    	           // sans la ligne suivante on bouclerait sur l'erreur
    	           sc = new Scanner(System.in); 
                        }
    	System.out.println("Votre nombre est: "+ n);
     
            }while(n != 0);
     
    		//Affiche le plus grand nombre de la serie
            System.out.println("Le plus grand nombre de la serie est : "+ max);	
    	}
    }
    C'est vraiment difficile d'imaginer qu'il faut ajouter cette ligne dans le bloc catch.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sc = new Scanner(System.in);
    Et il faut encore toujour lire le message entier d'erreur pour savoir ou exactement faut placer le bloc try, c'est ça.

    Merci infiniment pour tous vos aides.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Exercice sur Java
    Par romain1 dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 16/06/2008, 19h53
  2. Livre d'exercice pour Java Oo
    Par hardokin dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 02/04/2008, 15h35

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