Programme pour faire un formulaire
Résolu
eliereve
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
eliereve Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
eliereve Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je débute en java et j'aimerais faire un mini programme pour demander l'âge et le nom d'une personne et éventuellement plus par la suite.
Au début, je demande le nom de la personne et j'arrive à afficher son nom mais ensuite quand je demande l'âge ça me renvoie dans la console :
voici le code complet :
c'est pas hyper compliqué mais c'est pour débuter, merci.
Je débute en java et j'aimerais faire un mini programme pour demander l'âge et le nom d'une personne et éventuellement plus par la suite.
Au début, je demande le nom de la personne et j'arrive à afficher son nom mais ensuite quand je demande l'âge ça me renvoie dans la console :
Username is: elie How old are you?Exception in thread "main" java.util.NoSuchElementException at java.base/java.util.Scanner.throwFor(Scanner.java:937) at java.base/java.util.Scanner.next(Scanner.java:1594) at java.base/java.util.Scanner.nextInt(Scanner.java:2258) at java.base/java.util.Scanner.nextInt(Scanner.java:2212) at programme/fr.eliereve.programme.main.main(main.java:18)
voici le code complet :
package fr.eliereve.programme; import java.util.Scanner; public class main { public static void main(String[] args) { // Auto-generated method stub Scanner stringInput = new Scanner(System.in); // Create a Scanner object System.out.println("Enter username"); String userName = stringInput.nextLine(); // Read user input System.out.println("Username is: " + userName); // Output user input stringInput.close(); Scanner scan = new Scanner(System.in); System.out.print("How old are you?"); int age = scan.nextInt(); // instead of scan you can write input both after Scanner and after int age = // print what is scanned System.out.println("You are "+age+" years of age."); // close the scanner scan.close(); } }
c'est pas hyper compliqué mais c'est pour débuter, merci.
Configuration: Windows / Firefox 83.0
A voir également:
- Programme pour faire un formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Programme demarrage windows - Guide
- Formulaire de reclamation instagram - Guide
- Mettre en veille un programme - Guide
2 réponses
Bonjour,
Le problème c'est que en faisant
Donc tu as beau créer un nouveau Scanner derrière, le flux ne se rouvrira pas, donc impossible de lire quoi que ce soit dessus une fois fermé.
Supprimes les lignes 14 et 23 afin de garder le flux ouvert et ça ira mieux.
Remarque : tu n'as qu'un clavier, donc System.in est unique, il serait donc logique de n'avoir qu'un seul Scanner, c'est inutile d'en créer un à chaque fois que tu veux lire une nouvelle donnée.
Le problème c'est que en faisant
stringInput.close()tu as également fermé System.in
Donc tu as beau créer un nouveau Scanner derrière, le flux ne se rouvrira pas, donc impossible de lire quoi que ce soit dessus une fois fermé.
Supprimes les lignes 14 et 23 afin de garder le flux ouvert et ça ira mieux.
Remarque : tu n'as qu'un clavier, donc System.in est unique, il serait donc logique de n'avoir qu'un seul Scanner, c'est inutile d'en créer un à chaque fois que tu veux lire une nouvelle donnée.