Problème de l'utilisation de Scanner ( dans java ) - Java - Programmation
Marsh Posté le 05-08-2011 à 10:55:48
Citation : Je ne comprends pas pourquoi l'outils scanner ne reconnais pas le reste |
Si tu tapes qque chose (suivi de retour chariot) après qu'il ait affiché "Quel est votre prénom ? JOJO" il se passe quoi?
A+,
Marsh Posté le 05-08-2011 à 13:13:11
Salut, merci d'avoir répondu.
Bin si je tappe quelque chose après, cette chose s'affiche bel et bien dans la console.
Cependant tout fonctionne comme si le programme oubliait complètement ces deux lignes de code :
nom = sc.nextLine();
System.out.println("Bonjour" +nom )
Le plus intriguant c'est que Eclipse ne me signale pas d'erreur dans la saisie. Tout semble aller bien.
Marsh Posté le 05-08-2011 à 16:47:43
relax00587 a écrit : Salut, merci d'avoir répondu. |
Donc tu ne comprends pas ce que fait ton programme.
Que voudrais tu donc avoir dans nom quand il fait sc.nextLine(); ?
A+,
Marsh Posté le 05-08-2011 à 20:59:25
Je voudrais qu'il récupère ce que j'ai tappé ( à savoir le dernier mot de la ligne précédente ), et ainsi qu'il définisse le nom = JOJO
C'est bien le principe du Scanner , non ?
Marsh Posté le 05-08-2011 à 21:06:24
Sauf que justement, la, tu as pas tapé le texte.
Le scanner, il va récupérer le texte de System.in, par construction, tandis que toi, tu envoies du texte sur System.out (qui de toute façon n'est pas dispo en lecture, il me semble).
A+,
Marsh Posté le 05-08-2011 à 22:21:25
ah, et comment dois je modifier mon code pour que le scanner puisse récupérer mon texte ? où dois je taper mon texte ?
Marsh Posté le 05-08-2011 à 23:11:22
je veux que s'affiche dans ma console :
Quel est votre prénom ? JOJO
Bonjour JOJO
Je veux que le programme recupère l'entrée " JOJO "
Marsh Posté le 06-08-2011 à 01:38:34
Code : |
A+,
Marsh Posté le 06-08-2011 à 03:12:39
Merci effectivement cela fonctionne =) !!!!
Je m'étais enfaite inspiré de ce tutoriel, qui visiblement ne fonctionne pas !
http://www.siteduzero.com/tutoriel [...] avier.html
C'est très étrange ... qu'en penses tu ?
Marsh Posté le 06-08-2011 à 03:23:50
une question également ...
pourquoi a t-on
String nom = "";
et non pas simplement
String nom;
( sous forme classique : type de variable + nom de variable )
Marsh Posté le 06-08-2011 à 13:03:27
relax00587 a écrit : Merci effectivement cela fonctionne =) !!!! |
Je pense que tu n'as pas compris l'exemple:
Code : |
La 3e ligne:
Le code attends que tu saisisse quelque chose au clavier, et tu fasses retour chariot ensuite.
Quand c'est fait, ce qui a été tapé est envoyé dans System.in, et c'est pour ça que ton scanner (déclaré comme new Scanner(System.in)) peut scanner le texte tapé.
A+,
Marsh Posté le 06-08-2011 à 13:09:08
relax00587 a écrit : une question également ... |
Parce que ça plait pas au compilateur java, qui pense que si sc.hasNext() renvoie faux, on va jamais faire nom = sc.next(), et donc qu'on va arriver à System.out.println("Bonjour " +nom ); avec une variable nom pas initialisée (et donc comme toute variable de type pas primitif, initialisée par défaut à null). Alors que si j'initialise nom avec une chaine vide, ça lui convient.
A+,
Marsh Posté le 06-08-2011 à 16:26:57
gilou a écrit : Je pense que tu n'as pas compris l'exemple:
|
Je suis vraiment désolé mais quand je tape :
Scanner sc = new Scanner(System.in);
System.out.println("Veuillez saisir un mot : JOJO" );
String str = sc.nextLine();
System.out.println("Vous avez saisi : " + str);
La console me donne :
Veuillez saisir un mot : JOJO
Vous avez saisi : (//ici il y a un blanc)
Marsh Posté le 06-08-2011 à 18:55:47
Eh bien c'est que tu as un problème avec ton environnement java, parce que dans une console, voici ce que j'obtiens:
C:\Java>java Zouzou |
Et la ça attend mon entrée au clavier, pour l'éternité, si jamais je tape rien.
A+,
Marsh Posté le 05-08-2011 à 02:38:31
Bonjour, je suis un débutant en JAVA extrêmement motivé, et après une journée entière de recherche je suis désespéré en j'en viens à vous demander de l'aide ...
Voici mes lignes de codes :
import java.util.Scanner;
public class Zouzou {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
String nom;
System.out.println("Quel est votre prénom ? JOJO" );
nom = sc.nextLine();
System.out.println("Bonjour" +nom ); }
}
Voila c'est très simple ... mais mon soucis est lorsque je démarre le " programme " seule cette phrase s'affiche dans ma console : Quel est votre prénom ? JOJO
Je ne comprends pas pourquoi l'outils scanner ne reconnais pas le reste ... et cela me bloque complètement pour la suite de mon apprentissage....
Je vous remercie infiniment !
Zac.
Message édité par relax00587 le 05-08-2011 à 13:26:20