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

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    septembre 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : septembre 2019
    Messages : 1
    Points : 1
    Points
    1
    Par défaut problèmes d'erreurs concernant mes deux premiers programmes simples
    Bonsoir à tous,

    Je viens de débuter un apprentissage du JAVA, j'ai donc commencer à apprendre les bases et également à pratiquer .
    J'ai donc essayer d'executer 2 programmes mais je tombe sur plusieurs messages d'erreurs, J'ai passé 2/3 heures à essayer de comprendre
    d'ou venais ces pbs mais je n'ai pas trouvé de solutions(majucules?? erreur de compi??)

    Par ailleurs si vous avez un site, un livre ou un conseil pour aider à résoudre ces pbs ou trouver la source précise je suis prenneur.
    (j'ai essayer avec online java compiler et différents forum).
    Je travaille sur atome et je voulais savoir si vous saviez comment afficher les "pates,jambes" entre les blocs de construction pour une meilleure lisibilité.

    Je vous laisse mes deux codes en pièce jointe dans un fichier java , merci d'avance .
    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
    package d5;
     
    public class gestionbancaire // le fichier est gestionbancaire.java
    {
    	public static void main(String[] arguments) {
    		int nbpayementsCB = 0, nbpayementschèque = 0, nbvirementsautomatiques = 0, nbdébits = 0;
    		float pourcentageCB = 0f;
    		pourcentagechèque = 0f;
    		pourcentagevirements = 0f;
    		system.out.println("veuillez saisir le nombre de payements par CB");
    		nbpayementsCB = read.i();
    		system.out.println("veuillez saisir le nombre de payements par chèque");
    		nbpayementschèques = read.i();
    		system.out.println("veuillez saisir le nombre de virementsautomatiques");
    		nbvirementsautomatiques = read.i();
    		nbdébits = nbpayementsCB + nbpayementschèque + nbvirementsautomatiques;
    		pourcentageCB = (nbpayementsCB / nbdébits) * 100;
    		pourcentagechèque = (nbpayementschèques / nbdébits) * 100;
    		pourcentagevirements = (nbvirementsautomatiques / nbdébits) * 100;
    		System.out.println(" vous avez émis " + nbdébits + " ordres de débits");
    		system.out.println("dont" + pourcentageCB + "par CB");
    		system.out.println("dont" + pourcentagechèque + " par chèque");
    		system.out.println("dont" + pourcentagevirements + "virements");
    	}}
    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
    36
    37
     
    //Menu. DEUXIEME CODE
    //déclaration des variables
    	int creeruncompte = 1, afficheruncompte = 2, creeruneligne = 3, sortir = 4, aide = 5,
    			choix = 0;System.out.println("1-creer un compte");system.out.println("2-afficher un compte");system.out.println("3-creer une ligne comptable");system.out.println("4-sortir");system.out.println("5-de l'aide?");System.out.println("veuillez saisir le numéro correspondant à l'option choisie");choix=read.i();
     
    Switch(choix)
    {
    case 1:
    system.out.println("A-type de compte[types possibles: courant, joint, épargne]");
    system.out.println("B-numéro du compte");
    system.out.println("C-première valeur créditée";
    system.out.println("D-taux de placement");
     
    break;
    case 2:
    long numérocomptevoulu;
    system.out.println("veuillez saisir le numéro de compte voulu");
    numérocomptevoulu= read.l();
    break;
    case 3:
    system.out.print("option non programmé");
    break;
    case 4:
    system.exit(0);
    break;
    case 5;
    system.out.println("vous pouvez creer un compte avec cette option N°1 ");
    system.out.println("vous pouvez afficher vos compte avec cette option N°2");
    system.out.println("cette option n'est pas encore programmée");
    system.out.println("vous pouvez sortir du programme avec cette option N°4");
    break;
    default :
    system.out.println("erreur de saisie, veuillez recommencer");
    choix= read.i();
    }
    }
    Fichiers attachés Fichiers attachés

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    septembre 2009
    Messages
    11 676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : septembre 2009
    Messages : 11 676
    Points : 27 484
    Points
    27 484
    Billets dans le blog
    2
    Par défaut
    Salut,


    1. Tout d'abord Java est un langage sensible à la casse. Et comme la convention est que les noms de classes commencent par une majuscule, c'est System.out.println().

    2. Ensuite, il s'agit d'un langage strictement typé, donc il faut typer les variables dans leur déclaration. Dans ton code, tu fais pourcentagechèque = 0f;. Cette variable n'a pas été déclarée, elle n'a pas de type, elle n'existe pas. Attention, jusqu'à des versions récentes il fallait mettre explicitement le type. Il existe depuis la version 10 la possibilité de déclarer des variables en indiquant juste var à la place du type, mais vu que tu débutes, il est préférable que tu indique pour l'instant le type :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      float pourcentagechèque = 0f;
      En revanche évite les caractères accentués dans les noms de variable, pour éviter les problèmes dus à l'encodage des fichiers sources.
    3. Par contre, les mots-clefs sont toujours complètement en minuscules :
      Pour Switch(choix), c'est switch(code)
    4. Il manque une parenthèse fermante ici system.out.println("C-première valeur créditée";
    5. attention, ça n'empêchera pas ton programme de compiler ou de s'exécuter, mais le résultat ne sera peut-être pas celui que tu attends :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      pourcentageCB = (nbpayementsCB / nbdébits) * 100;
      nbpayementsCB et nbdébits étant des int, leur division sera un int. Pour obtenir un float, il faut convertir au moins une des deux variables en float avant de faire la division (soit par cast (float)nbpayementsCB, soit par multiplication : nbpayementsCB*1f)
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    septembre 2009
    Messages
    11 676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : septembre 2009
    Messages : 11 676
    Points : 27 484
    Points
    27 484
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par 808boomm Voir le message
    Je travaille sur atome et je voulais savoir si vous saviez comment afficher les "pates,jambes" entre les blocs de construction pour une meilleure lisibilité.
    Je ne connais Atome vaguement que de nom, mais il me semble que c'est plutôt un éditeur de texte. Il serait préférable que tu utilises un EDI (ou IDE en anglais) : les erreurs de syntaxe sont indiquées et c'est donc plus simple de les corriger. Avec la complétion, l'erreur sur "System.out" ne te serait pas arrivé,et son raccourci "sysout" est pratique. Le code est présenté, indenté, colorisé , et même repliable automatiquement. Et plein d'autres assistants en plus très pratique. Je ne suis pas sûr de ce que tu appelles "pates,jambes" (l'empattement (ou serif en anglais) ?), ou même blocs de construction... (constructeur de classes ?)... du coup, j'ai un peu du mal à voir ce qui t'aiderait dans la lisibilité des constructeurs que pourraient d'apporter des polices avec empattements...
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Stagiaire Décisionnelle
    Inscrit en
    juillet 2019
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Stagiaire Décisionnelle
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : juillet 2019
    Messages : 64
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Salut,
    Ensuite, il s'agit d'un langage strictement typé, donc il faut typer les variables dans leur déclaration. Dans ton code, tu fais pourcentagechèque = 0f;. Cette variable n'a pas été déclarée, elle n'a pas de type, elle n'existe pas. Attention, jusqu'à des versions récentes il fallait mettre explicitement le type. Il existe depuis la version 10 la possibilité de déclarer des variables en indiquant juste var à la place du type, mais vu que tu débutes, il est préférable que tu indique pour l'instant le type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    float pourcentagechèque = 0f;
    En revanche évite les caractères accentués dans les noms de variable, pour éviter les problèmes dus à l'encodage des fichiers sources.
    Il a déclaré et initialisé les variables de même type sur une seule ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int nbpayementsCB = 0, nbpayementschèque = 0, nbvirementsautomatiques = 0, nbdébits = 0;

  5. #5
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    septembre 2009
    Messages
    11 676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : septembre 2009
    Messages : 11 676
    Points : 27 484
    Points
    27 484
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par PandaRasta Voir le message
    Il a déclaré et initialisé les variables de même type sur une seule ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int nbpayementsCB = 0, nbpayementschèque = 0, nbvirementsautomatiques = 0, nbdébits = 0;
    Et ? Donc ? Que veux-tu dire ?

    C'est syntaxiquement correct. J'admets que personnellement je n'aime pas le faire. Parce que cela peut introduire de la confusion comme dans l'exemple ci-après, et que ça peut être gênant pour la lisibilité, surtout avec la limite de largeur imposée par l'éditeur. En tout cas, ça n'intervient pas dans les erreurs que @808boomm avait initialement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int variable1=42, variable2=variable1+3, variable3=variable2+variable1, variable4[]={variable1,variable2,variable3};
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  6. #6
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    août 2005
    Messages
    6 233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : août 2005
    Messages : 6 233
    Points : 22 387
    Points
    22 387
    Billets dans le blog
    48
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Salut,
    Il existe depuis la version 10 la possibilité de déclarer des variables en indiquant juste var à la place du type, mais vu que tu débutes, il est préférable que tu indique pour l'instant le type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    float pourcentagechèque = 0f;
    Et c'est un literal donc cela fait partie des recommandation de bon usage (section G3 et G7) que de marquer le type correct. var peut mener a des confusions de type si par exemple le concepteur du code comptait avoir une variable de type double mais décide pour X raison de l'initialiser avec une valeur écrite avec une valeur float.

    Note : le code suivant est une simplification a l’extrême, plus que dans une initialisation de code, le problème se pose surtout quand la variable reçoit une valeur provenant d'un champ d'un objet ou d'un paramètre.

    Par exemple, on voulait écrire :

    mais on a écrit :

    et donc en fait on se retrouve avec :

    Bref, var c'est surtout utile pour les types objet.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

Discussions similaires

  1. Erreur de compilation d'un programme simple
    Par lecodeurcplusplus dans le forum Qt Creator
    Réponses: 4
    Dernier message: 28/04/2015, 12h27
  2. Problème avec DMZ et mes deux serveur web local ?
    Par andyinfo dans le forum Développement
    Réponses: 1
    Dernier message: 18/12/2009, 13h17
  3. Mon premier programme en MFC: Problème de 8 reines
    Par Dũng chim dans le forum MFC
    Réponses: 0
    Dernier message: 16/12/2008, 15h50
  4. Erreur de compilation premier programme
    Par bey1986 dans le forum Débuter
    Réponses: 1
    Dernier message: 30/09/2008, 15h34
  5. Un de mes premiers programme : Quelques questions...
    Par allezlolo dans le forum Débuter
    Réponses: 15
    Dernier message: 26/04/2008, 09h51

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