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

[Java]variable scanner boucle do...while

Loaduponguns
Loaduponguns
Niveau 10
01 octobre 2011 à 16:40:31

Bonjour,
Si vous êtes pressés, je vais résumer mon topic à cette question:
Comment faire pour qu'à chaque nouvelle boucle, le programme crée une nouvelle variable scanner sc(n+1) que l'utilisateur pourra remplir à nouveau?

Maintenant en version longue:

Je fais du java depuis 1 mois et donc pour m'entrainer je souhaite créer un programme simple qui permet une sélection de nom de personnage semblable à celle des rpgs:
-On demande au joueur de choisir un nom
-S'il confirme, on lui affiche "votre personnage s'appelle x"
-S'il ne confirme pas on lui redemande un nom et ainsi de suite jusqu'à ce qu'il confirme

Je suis parti sur ça:
String IG; //IG comme in game name
System.out.println("Choisissez votre nom");
Scanner scIG = new Scanner(System.in);
IG=scIG.nextLine();
System.out.println("Voulez vous vous appeler "+ IG+"? Ecrire oui ou non.");
String sure,oui,non;
oui="oui";
non="non";
Scanner scSure = new Scanner(System.in);
sure=scSure.nextLine();
if (sure.equals(oui))
{
System.out.println("Votre personnage s'appelle désormais " +IG+"!");
}
else
do{
System.out.println("Choisissez votre nom");
Scanner scIG2 = new Scanner(System.in);
IG=scIG2.nextLine();
System.out.println("Voulez vous vous appeler "+ IG+"? Ecrire oui ou non.");
Scanner scSure2 = new Scanner(System.in);
sure=scSure.nextLine();
}
while(sure.compareTo(oui) == 1);

Le problème de mon programme est qu'il ne permet de redemander le nom qu'une seule fois, parce que la boucle me permet créer qu'1 seule nouvelle variables scIG2 écrire à la main. Donc j'aimerais savoir s'il y a moyen qu'à chaque nouvelle boucle de créer une variable scIG(n+1) pour pouvoir exécuter la boucle autant de fois que je veux. Je pourrais peut-être utiliser la boucle for, mais je ne veux pas d'incrémentation de la variable, juste a création d'une nouvelle à chaque boucle.

Merci de vos réponses

godrik
godrik
Niveau 30
01 octobre 2011 à 16:57:08

regarde la notion de tableau dans ton cours/tuto/livre de java

Loaduponguns
Loaduponguns
Niveau 10
01 octobre 2011 à 17:27:10

Ok, j'ai trouvé pourquoi ça marchait pas, je mettais 4 scanner alors qu'un seul suffit, voilà à quoi ressemble le nouveau programme:

final Scanner clavier = new Scanner(System.in);
String IG;
System.out.println("Choisissez votre nom");
IG = clavier.nextLine();
System.out.println("Voulez vous vous appeler "+ IG+"? Ecrire oui ou non.");
String sure,oui,non;
oui="oui";
non="non";
sure=clavier.nextLine();
if (sure.equals(oui))
{
System.out.println("Votre personnage s'appelle désormais " +IG+"!");
}
else
do{
System.out.println("Choisissez votre nom");
IG=clavier.nextLine();
System.out.println("Voulez vous vous appeler "+ IG+"? Ecrire oui ou non.");
sure=clavier.nextLine();
}
while(!sure.equals((oui)));

}
}

041
041
Niveau 10
02 octobre 2011 à 11:26:41

Tu te complique la vie :noel:

Scanner clavier = new Scanner(System.in);
String IG,sure;
do
{
System.out.println("Choisissez votre nom");
IG=clavier.nextLine();
System.out.println("Voulez vous vous appeler "+ IG+"? Ecrire oui ou non.");
sure=clavier.nextLine();
}
while(!sure.equals(("oui")));
System.out.println("Votre personnage s'appelle désormais " +IG+"!");

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