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 :

Entrée et sortie avec le clavier !!!


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 135
    Points : 39
    Points
    39
    Par défaut Entrée et sortie avec le clavier !!!
    calculer la moyenne de notes données au clavier. Le système demande des notes jusqu'à ce que le mot clé « stop » soit donnée. Chaque note doit être une valeur numérique, comprise entre 0 et 20.


    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
    import java.util.Scanner;
     
    public class Exercice1 {
    	public static void main(String[] args) {
            double x,M,s=0.0;
            int i=0;
      		Scanner sc=new Scanner(System.in);
      		System.out.println("Saisie des notes entre [0 et 20]Pour terminer taper STOP ");
      		while(sc.nextLine()!="stop"){
    		do{
    		System.out.println("Donner des notes entre [0 et 20] ");
    		x=sc.nextFloat();
    		s=s+x;
    		i++;
    		}while(!((x>0)&&(x<20)));
    		}
    		M=(s/i);
    		System.out.println("La Moyenne des notes saisis est "+M);
    	}
    }
    pourquoi j'ai cette erreur d'exception ?Nom : erre.PNG
Affichages : 2757
Taille : 16,3 Ko

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Parce que "stop" n'est pas un float, simplement.

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 135
    Points : 39
    Points
    39
    Par défaut
    est ce que je dois saisir une chaine puis la convertir en float ? si conversion réussie je fais somme sinon je quitte boucle??

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    déjà, chose pas normal, t'as fais une boucle avec deux while, un en haut, un en bas. Les deux étant imbriqué. Soit tu fais le premier while et tu parse ensuite à la main avec Float.getValue(String) si ce n'et pas "STOP". Soit tu parse comme float, et tu attrappe l'exception pour ensuite tester si c'est "STOP".

  5. #5
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 794
    Points
    4 794
    Par défaut
    Oui, tu dois saisir une chaîne.
    Dans ton sujet, il est écrit "sortie par le mot-clé stop"
    donc les tests dans ta boucle sont :

    1) est-ce que ma chaîne est égale à "stop" (attention à bien utiliser la méthode "equals" et non pas "==")
    -> si oui on affiche la somme et on sort.

    2) tentative de conversion de la chaîne en float :
    -> si ça marche , ajout du float à la somme
    -> si ça rate, message d’engueulade à l'utilisateur
    dans les 2 cas, on continue la boucle.
    pour le 2) il faut utiliser le try catch.
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  6. #6
    Nouveau membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 135
    Points : 39
    Points
    39
    Par défaut
    Pour saisir une chaine de caractère et tester égal à stop
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Scanner sc=new Scanner(System.in);
    if (sc.nextLine().equal('stop')) {
        M=(s/i);
        System.out.println("La Moyenne des notes saisis est "+M);
    }

    Mais comment convertir d'une chaine a un réel float ??

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Float.valueOf(laChaine)

Discussions similaires

  1. Entré et sortie avec BPEL
    Par taherlabidi dans le forum Services Web
    Réponses: 0
    Dernier message: 21/11/2012, 12h59
  2. Passage d'un argument en entrée/sortie avec JNI
    Par GatH7614 dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 21/07/2010, 15h23
  3. Flux entrée sortie avec Struts
    Par stef_ich dans le forum Struts 1
    Réponses: 0
    Dernier message: 10/04/2010, 14h57
  4. différentes sorties avec des entrées variables
    Par mikew75 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 08/04/2010, 09h25
  5. Réponses: 1
    Dernier message: 11/01/2007, 09h00

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