Problème en Java (charAt(0) ) !
Résolu/Fermé
Sisiniya
Messages postés
142
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
24 mars 2010
-
21 sept. 2008 à 00:31
guillaume_74 - 1 nov. 2008 à 00:02
guillaume_74 - 1 nov. 2008 à 00:02
A voir également:
- Next().charat(0)
- Void(0) - Forum Mozilla Firefox
- Void(0); ✓ - Forum Mozilla Firefox
- Acpi\int33a0\0 ✓ - Forum Pilotes (drivers)
- Numéro de téléphone excel 0 - Guide
- Remettre a 0 un pc - Guide
29 réponses
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
21 sept. 2008 à 02:52
21 sept. 2008 à 02:52
Bonsoir,
@kmillo : ouai, souvent on lit l'entrée standard directement en faisant un System.in.read()... Je ne connaissais pas l'existance de la classe Scanner personnellement.
Comme le dit Donuts08, nextLine() n'a pas l'air faite pour ça. Pourquoi n'utilises-tu pas next().charAt(0) comme le montre l'exemple de l'API ?
Codialement.
@kmillo : ouai, souvent on lit l'entrée standard directement en faisant un System.in.read()... Je ne connaissais pas l'existance de la classe Scanner personnellement.
Comme le dit Donuts08, nextLine() n'a pas l'air faite pour ça. Pourquoi n'utilises-tu pas next().charAt(0) comme le montre l'exemple de l'API ?
Codialement.
donuts08
Messages postés
519
Date d'inscription
dimanche 13 novembre 2005
Statut
Membre
Dernière intervention
15 octobre 2008
39
21 sept. 2008 à 00:33
21 sept. 2008 à 00:33
bonjour,
essai de séparer la capture de la réponse et la recherche du premier caractère
essai de séparer la capture de la réponse et la recherche du premier caractère
Sisiniya
Messages postés
142
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
24 mars 2010
19
21 sept. 2008 à 00:41
21 sept. 2008 à 00:41
Vous vouslez dire comme ça :
char carac = ' ' ;
String reponse = new String();
do
{
System.out.println("Assurez-vous que l'imprimante est prête");
System.out.println("Si vous êtes prête,tapez O sinon tapez N ");
reponse = sc.nextLine();
carac = reponse.charAt(0);
}while( carac1 != 'O' && carac1 != 'N');
si c'est ce que vous voulez dire , et bien je l'ai essayé mais le même erreur s'est produit . Je crois qu'il me manque dans mon compilateur une classe !!
char carac = ' ' ;
String reponse = new String();
do
{
System.out.println("Assurez-vous que l'imprimante est prête");
System.out.println("Si vous êtes prête,tapez O sinon tapez N ");
reponse = sc.nextLine();
carac = reponse.charAt(0);
}while( carac1 != 'O' && carac1 != 'N');
si c'est ce que vous voulez dire , et bien je l'ai essayé mais le même erreur s'est produit . Je crois qu'il me manque dans mon compilateur une classe !!
Sisiniya
Messages postés
142
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
24 mars 2010
19
21 sept. 2008 à 00:42
21 sept. 2008 à 00:42
pardon c'est pas carac1 mais c'est carac ( faute de frappe ! )
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
donuts08
Messages postés
519
Date d'inscription
dimanche 13 novembre 2005
Statut
Membre
Dernière intervention
15 octobre 2008
39
21 sept. 2008 à 00:44
21 sept. 2008 à 00:44
si tu affiches la réponse quand tu l'a saisie, est-ce qu'elle est bien récupéré? il y a bien quelque chose dans "reponse"?
Sisiniya
Messages postés
142
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
24 mars 2010
19
21 sept. 2008 à 00:49
21 sept. 2008 à 00:49
j'ai ajouté cette ligne à ce bloc là : System.out.println("voilà" + carac1); Mais , vous savez quoi ? même cette ligne n'ai pas éxécuté et il m'affiche le même message d'erreur .
Sisiniya
Messages postés
142
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
24 mars 2010
19
21 sept. 2008 à 00:49
21 sept. 2008 à 00:49
j'ai ajouté cette ligne à ce bloc là : System.out.println("voilà" + carac1); Mais , vous savez quoi ? même cette ligne n'ai pas éxécuté et il m'affiche le même message d'erreur .
donuts08
Messages postés
519
Date d'inscription
dimanche 13 novembre 2005
Statut
Membre
Dernière intervention
15 octobre 2008
39
21 sept. 2008 à 00:51
21 sept. 2008 à 00:51
essai:
char carac = ' ' ;
String reponse = new String();
do
{
System.out.println("Assurez-vous que l'imprimante est prête");
System.out.println("Si vous êtes prête,tapez O sinon tapez N ");
reponse = sc.nextLine();
System.out.println(reponse);
carac = reponse.charAt(0);
}while( carac1 != 'O' && carac1 != 'N');
tu vois ta réponse apparaitre ou pas?
en plus, c'est quoi "sc"?
char carac = ' ' ;
String reponse = new String();
do
{
System.out.println("Assurez-vous que l'imprimante est prête");
System.out.println("Si vous êtes prête,tapez O sinon tapez N ");
reponse = sc.nextLine();
System.out.println(reponse);
carac = reponse.charAt(0);
}while( carac1 != 'O' && carac1 != 'N');
tu vois ta réponse apparaitre ou pas?
en plus, c'est quoi "sc"?
Sisiniya
Messages postés
142
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
24 mars 2010
19
21 sept. 2008 à 00:56
21 sept. 2008 à 00:56
Même message d'erreur et il ne m'affiche pas le contenu de reponse . ( je crois le problème est en relation avec charline(0) .
Au fait , sc c'est un objet de la classe Scanner , et voilà sa ligne dans le code :
Scanner sc = new scanner(System.in) ;
Au fait , sc c'est un objet de la classe Scanner , et voilà sa ligne dans le code :
Scanner sc = new scanner(System.in) ;
donuts08
Messages postés
519
Date d'inscription
dimanche 13 novembre 2005
Statut
Membre
Dernière intervention
15 octobre 2008
39
21 sept. 2008 à 01:10
21 sept. 2008 à 01:10
je crois pas que nextLine fonctionne comme ça, vois plutot avec ça http://www.docjar.com/docs/api/java/io/BufferedReader.html
Sisiniya
Messages postés
142
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
24 mars 2010
19
21 sept. 2008 à 01:15
21 sept. 2008 à 01:15
D'accord , je vais sûrement le consulter .
Merci pour vos remarques << donuts08 >>
Merci pour vos remarques << donuts08 >>
kmillo
Messages postés
53
Date d'inscription
dimanche 21 septembre 2008
Statut
Membre
Dernière intervention
26 juin 2016
2
21 sept. 2008 à 02:31
21 sept. 2008 à 02:31
tu travaille dans la console? ce n'est pas (sc.nextLine) pour recuperer les infos. là je ne sait plus mais je te tiens au jus.
en entendant essaie :
char reponse = ' ' ;
do
{
System.out.println("Voulez-vous continuer O/N ? ");
reponse = 'O';
}while( reponse != 'O' && reponse != 'N');
au moins tu verra si ca marche, mais moi j'utiliser autrechose pour lire les info de la cosole
en entendant essaie :
char reponse = ' ' ;
do
{
System.out.println("Voulez-vous continuer O/N ? ");
reponse = 'O';
}while( reponse != 'O' && reponse != 'N');
au moins tu verra si ca marche, mais moi j'utiliser autrechose pour lire les info de la cosole
alexdelareunion
Messages postés
545
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
9 octobre 2023
142
21 sept. 2008 à 08:50
21 sept. 2008 à 08:50
Salut, la classe Scanner est nouvelle (question con es-tu sûr que ton sdk est assez récent). Par contre la syntaxe est bonne d'après ce que je lis ici :
http://www.labo-sun.com/resource-FR-codesamples-416-0-java-io-recuperation-de-donnees-grace-a-la-nouvelle-classe-scanner-java-5-0-.htm
A ta place je suivrai le conseil du message 11 de kmillo pour bien être sûr que le début est juste
http://www.labo-sun.com/resource-FR-codesamples-416-0-java-io-recuperation-de-donnees-grace-a-la-nouvelle-classe-scanner-java-5-0-.htm
A ta place je suivrai le conseil du message 11 de kmillo pour bien être sûr que le début est juste
Utilisateur anonyme
21 sept. 2008 à 09:49
21 sept. 2008 à 09:49
Bonjour,
Ta frappe est récupérée dans un String !
Comme ca c'est ok:
Scanner sc = new Scanner(System.in) ;
String entree = "";
char reponse = ' ' ;
do
{
System.out.println("Voulez-vous continuer O/N ? ");
entree = sc.nextLine();
reponse = entree.charAt(0);
}while((reponse != 'O') && (reponse != 'N'));
Mais charAt n'est pas nécessaire :
while ((!entree.equals("O")) && (!entree.equals("N"))); ferait l'affaire.
Cordialement.
Dan
Ta frappe est récupérée dans un String !
Comme ca c'est ok:
Scanner sc = new Scanner(System.in) ;
String entree = "";
char reponse = ' ' ;
do
{
System.out.println("Voulez-vous continuer O/N ? ");
entree = sc.nextLine();
reponse = entree.charAt(0);
}while((reponse != 'O') && (reponse != 'N'));
Mais charAt n'est pas nécessaire :
while ((!entree.equals("O")) && (!entree.equals("N"))); ferait l'affaire.
Cordialement.
Dan
Sisiniya
Messages postés
142
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
24 mars 2010
19
21 sept. 2008 à 23:45
21 sept. 2008 à 23:45
Pour la Réponse de Danimo :
En utilisant cette ligne while ((!entree.equals("O")) && (!entree.equals("N"))); Heureusement le massage d'erreur est disparu , mais le problème c'est qu'il m'affiche "Voulez-vous continuer O/N ?" deux fois à la fois , et quand je tape par exemple O il reaffiche "Voulez-vous continuer O/N ?" . C'est comme si la condition ne sera jamais verifiée .
Vous avez quelques Supposition ?
Je vous remercie tous pour vos réponse .
Sisiniya .--
Au travail, le plus difficile, c'est d'allumer la petite lampe du cerveau. Après, ça brûle tout seul.
--->> auteur : Jules Renard <<---
En utilisant cette ligne while ((!entree.equals("O")) && (!entree.equals("N"))); Heureusement le massage d'erreur est disparu , mais le problème c'est qu'il m'affiche "Voulez-vous continuer O/N ?" deux fois à la fois , et quand je tape par exemple O il reaffiche "Voulez-vous continuer O/N ?" . C'est comme si la condition ne sera jamais verifiée .
Vous avez quelques Supposition ?
Je vous remercie tous pour vos réponse .
Sisiniya .--
Au travail, le plus difficile, c'est d'allumer la petite lampe du cerveau. Après, ça brûle tout seul.
--->> auteur : Jules Renard <<---
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 293
22 sept. 2008 à 00:03
22 sept. 2008 à 00:03
Tu as un java chelou moi avec l'une ou l'autre ça fonctionne sans souci.
Sisiniya
Messages postés
142
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
24 mars 2010
19
22 sept. 2008 à 00:14
22 sept. 2008 à 00:14
Je travaille avec Eclipse
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 293
22 sept. 2008 à 00:31
22 sept. 2008 à 00:31
Moi aussi :)
Sisiniya
Messages postés
142
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
24 mars 2010
19
22 sept. 2008 à 00:37
22 sept. 2008 à 00:37
Alors , svp dis moi qu'est ce qui me manque ? en fait , je suis débutante en java . Je viens juste de l'apprendre !
Merci .
Merci .
// Voilà la partie d'où vient l'erreur
char reponse = ' ' ;
do
{
System.out.println("Voulez-vous continuer O/N ? ");
reponse = sc.nextLine().charAt(0);
}while( reponse != 'O' && reponse != 'N');
=====================================
String reponse = "";
do
{
System.out.println("Voulez-vous continuer O/N ? ");
reponse = sc.next();;
}while(!reponse .EqualsIgnoreCase("O") && !reponse.EqualsIgnoreCase("N"));
char reponse = ' ' ;
do
{
System.out.println("Voulez-vous continuer O/N ? ");
reponse = sc.nextLine().charAt(0);
}while( reponse != 'O' && reponse != 'N');
=====================================
String reponse = "";
do
{
System.out.println("Voulez-vous continuer O/N ? ");
reponse = sc.next();;
}while(!reponse .EqualsIgnoreCase("O") && !reponse.EqualsIgnoreCase("N"));
21 sept. 2008 à 02:57