CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Besoin d'aide pour un petit Programme Java / BTS SIO

lord1azerty
lord1azerty
Niveau 5
29 décembre 2015 à 19:13:23

Bonjour à tous, voilà je suis en première année de BTS SIO et mon prof m'a donné un programme à faire en Java pour la rentrée. C'est un petit truc pas très compliqué, n’empêche que ça marche pas;
voilà ce que j'ai fais pour l'instant :

import java.util.Scanner;

public class DAB3
{

public static void main(String[] args)
{

Scanner sc = new Scanner(System.in);
int resultat = 0, ndc = 0, jn, mn, an;
float solde = 0, ajout = 0, debit = 0;
String nom = "nom", prenom = "prenom";

while (resultat != 0 );
{
System.out.println ("Pour insérer des informations, tapez 1. Pour afficher les informations, taper 2. Pour ajouter de l'argent sur le compte, taper 3. Pour débiter de l'argent sur le compte, taper 4. Pour fermer le compte, taper 0.");
resultat = sc.nextInt();

switch (resultat)
{
case 1 :
System.out.println ("Insérez votre numéro de compte");
ndc = sc.nextInt();

System.out.println ("Insérez votre prénom");
String prenom = sc.nextLine();

System.out.println ("Insérez votre nom");
String nom = sc.nextLine();

System.out.println ("Insérez votre jour de naissance");
jn = sc.nextInt();

System.out.println ("Insérez votre mois de naissance");
mn = sc.nextInt();

System.out.println ("Insérez votre année de naissance");
an = sc.nextInt();

break;

case 2 :
System.out.println ("Nom : " +nom);
System.out.println ("Prénom : " +prenom);
System.out.println ("Numéro de Compte : " +ndc);
System.out.println ("Solde du Compte : " +solde);

break;

case 3 :
System.out.println ("Insérer le montant à déposer :");
ajout = sc.nextFloat();
solde = solde + ajout;
System.out.println ("Votre Solde est maintenant de : " +solde);

break;

case 4 :
System.out.println ("Insérer le montant à retirer :");
debit = sc.nextFloat();

if (solde>0)
{
System.out.println ("Vous ne pouvez pas retirer cette somme, votre solde n'est pas assez élevé.");
}
else
{
solde = solde - debit;
System.out.println ("Votre solde est maintenant de : " +solde);
}
break;

}

if (resultat > 4);
System.out.println ("Le chiffre n'est pas valide, veuillez réessayer");

sc.close();
}
}
}

Je me doute bien sûr qu'il doit y avoir pas mal d'erreurs, je me justifierais en disant que j'ai commencé il y a peu de temps :gni:
Les premiers problèmes se situent dans les lignes : String prenom = sc.nextLine(); / String nom = sc.nextLine(); dans le Switch, où Eclipse me dit "Duplicate local variable nom/prenom".

J'ai cherché mais je ne tombe que sur des forums anglais où le niveau de prog est encore trop élevé pour moi, donc si quelqu'un a une idée ou ne serait-ce qu'une piste je serais bien content, car je ne comprend même pas le problème !

Je vous remercie d'avance, bonne soirée ! :)

Candystand
Candystand
Niveau 10
29 décembre 2015 à 19:24:21

Tu as déjà instancié nom et prenom au début de ton programme.

Tu as juste à enlever le String devant nom et prenom dans ton switch pour que ça fonctionne

lord1azerty
lord1azerty
Niveau 5
30 décembre 2015 à 13:02:14

Le 29 décembre 2015 à 19:24:21 Candystand a écrit :
Tu as déjà instancié nom et prenom au début de ton programme.

Tu as juste à enlever le String devant nom et prenom dans ton switch pour que ça fonctionne

Salut Candy, effectivement je ne m'étais pas rendu compte que j'essayais de déclarer deux fois la variable. Je te remercie, effectivement cela fonctionne...ou du moins se lance. :-)

Maintenant mon problème se situe dans la console, lorsque que je rentre 1 on me demande bien de rentrer un numéro de compte qui est un Int quelconque, je valide, et à ce moment la console m'affiche "Insérez votre prénom" ET "Insérez votre nom" à la suite sans avoir enregistré la valeur du String prenom.

Je suppose donc que mon problème vient du case 1 mais je n'arrive pas à le situer !

En gros mon interaction avec la console se présente comme ceci :

"Pour insérer des informations, tapez 1. Pour afficher les informations, taper 2. Pour ajouter de l'argent sur le compte, taper 3. Pour débiter de l'argent sur le compte, taper 4. Pour fermer le compte, taper 0.
1 (+entrée)
Insérez votre numéro de compte
2 (+entrée)
Insérez votre prénom
Insérez votre nom"

J'ai d'abord pensé à un problème de point virgule mais après nombreuses vérifications je commence à perdre espoir, si quelqu'un a une idée ou une piste sur l'origine du problème j'aimerais l'entendre ! Merci à tous et bonne journée :)

TintinMage
TintinMage
Niveau 10
30 décembre 2015 à 13:35:55

Utilise sc.next() au lieu de sc.nextLine()

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment