J'ai un doute sur ce prg

cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 - 7 juil. 2009 à 10:03
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 - 7 juil. 2009 à 17:06
bonjour
comme le titre indique,j'ai un doute sur ce prg
0.          import sdz1.Lire;1.     public class Exercice1<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

2.     {

3.          public static void main (String [] args)

4.          {

5.              

6.               System.out.println("Saisissez votre nom : ");

7.               String nom = Lire.chaine();

8.               System.out.println("Bonjour " + nom);   

9.              

10.         }

11.    }

 voilà import file Lire .chaineimport java.io.*;

public class Lire

{

// Cette fonction permet de saisir au clavier une variable de type String

    public static String chaine()

    {

            String tmp = "";

            char C='\0';

               try

               {

                       while ((C=(char) System.in.read()) !='\n')

                       {
                               if (C !'\r')  tmp tmp+C;

                       }

               }

               catch (IOException e)

               {

               System.out.println("Erreur de frappe");

               System.exit(0);

               }

               return tmp;

mon question est:

dans le import file, quel est le role les lettres en couleur bleu
Char C='\0';
while ((C=(char) System.in.read()) !='\n')if (C !'\r')  tmp tmp+C;

19 réponses

kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
7 juil. 2009 à 10:20
Salut,

ce sont de caractères de contrôle :
\r : retour chariot
\n : nouvelle ligne
\0 : juste pour initialiser la variable
0
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
7 juil. 2009 à 10:22
mouais, j'ai été un peu succint.

dans ton while, tu lis les caractères jusqu'à la fin de ligne (tant que tu n'as pas appuyé sur la touche entrée en gros)
dans ta variable tmp, tu concatènes les caractères sauf le retour chariot.
0
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 2
7 juil. 2009 à 10:59
merci beaucoup
0
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 2
7 juil. 2009 à 11:20
j'ai une autre question
sans aller dans l'import fichier,est ce qu'il y a un moyen pour
faire  Saisissez votre nom : et utiliser ce valeur pour s'afficher bonjour
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
7 juil. 2009 à 11:30
hum, pas compris ce que tu veux faire
0
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 2
7 juil. 2009 à 11:38
sans utilisier le "import sdzi.Lire"
est ce que je peux faire le même prg
c'est à dire, demande saissir le nom;et faire afficher Bonjour et le nom
0
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
7 juil. 2009 à 11:43
ben oui, il te suffit de reporter le code mais je ne vois pas trop l'intérêt
0
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 2
7 juil. 2009 à 11:52
j'ecris comme ceci1.     public class Exercice1<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>







2.     {







3.          public static void main (String [] args)






4.          {




5.              




6.               System.out.println("Saisissez votre nom : " +" ");




7.               String nom = " "




8.               System.out.println("Bonjour " + nom);   




9.              




10.         }




11.    }
mais il marche pas comme je veux
il affiche
Saisissez votre nom :
Bonjour

je veux qu'il s'affiche
Saisissez votre nom :
kirual2
Bonjour kirual2
0
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
7 juil. 2009 à 12:09
si tu ne lis pas l'entrée standard comme dans la classe Lire, tu ne vas pas aller loin.
Tu peux utiliser la classe java.util.Scanner qui te simplifie pas mal les choses :
Pour lire une ligne :
System.out.println("... ?");

Scanner scanner = new Scanner(System.in);

String nom = scanner.nextLine();

System.out.println("Bonjour "+nom);
0
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 2
7 juil. 2009 à 12:18
merci beaucoup
tu es un dieu
0
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 2
7 juil. 2009 à 13:29
s'il y a plusieurs lignes à saisir,que je dois faire?
exemple:
une ligne pour mr ou mme
une autre pour nom
une autre pour prenom
0
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 2
7 juil. 2009 à 14:01
import





java.util.Scanner;




public










class


essaie {




public







static







void


main (String [] args){

System.




out


.println(


"Entrez le mot madame ou monsieur: "

);Scanner scanner =




new


Scanner(System.



in


);String civilite=scanner.nextLine();

System.




out


.println(


"Saisissez votre nom:"

);Scanner scanner1 =




new


Scanner(System.



in


);String nom = scanner1.nextLine();

System.




out


.println(


"Bonjour "

+civilite +nom);}

}

j'écris comme ça
resultat que j'ai obtenu

Entrez le mot madame ou monsieur:




monsieur





Saisissez votre nom:






xavier





Bonjour monsieurxavier

monsieurxavier collé ensembre pour le separer comment faire
0
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
7 juil. 2009 à 14:25
ben, tu concatènes un espace
civilite+" "+nom
0
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 2
7 juil. 2009 à 14:36
import





java.util.Scanner;




public










class


essaie {




public







static







void


main (String [] args){

System.




out


.println(


"Entrez le mot madame ou monsieur: "

);Scanner scanner =




new


Scanner(System.



in


);String civilite=scanner.nextLine();

System.




out


.println(


"Saisissez votre nom:"

);Scanner scanner1 =




new


Scanner(System.



in


);String nom = scanner1.nextLine();

System.




out


.println(


"Bonjour "

+civilite + nom);}

}
ca y est j'ai corrigé mon prg
maintenant le resulta est comme ceci

Entrez le mot madame ou monsieur:




monsieur





Saisissez votre nom:






xavier





Bonjour monsieurxavier

tu vois monsieuxavier est collé ensemble comment les séparer
0
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
7 juil. 2009 à 14:39
euh, tu as lu ma réponse au-dessus ?
0
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 2
7 juil. 2009 à 14:40
merci
0
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 2
7 juil. 2009 à 16:18
je voulais faire un table multiplication et je suis bloqué,guide moi

import

java.util.Scanner;
public

class essaie {

public
static
void main (String [] args){

System.

out.println(
"Entrez un nb entier : ");Scanner scanner =

new Scanner(System.
in );

int nombre =scanner.nextLine();

for (
int i= 0; i<=10; i++){

System.

out .println(nombre +
"fois" +i+
" =" (nombre * i)
);}

}

}
0
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
7 juil. 2009 à 16:22
euh, je ne suis pas ton chien, un 'stp' facilite les choses.
0
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 2
7 juil. 2009 à 17:06
excuse moi, je ne voulais pas t'offenser
guide moi s'il te plaît
0
Rejoignez-nous