Execution d'un programme sous java

Fermé
nawar123 - 18 nov. 2008 à 00:36
 Utilisateur anonyme - 21 nov. 2008 à 04:12
Bonjour,
class ApplicationLireClavier {
public static void main(String [ ] argument) {
String Str;
int i; long L; char k;
short s; byte b; float f; double d;
System.out.print("Entrez une chaîne : ");
Str = Readln.unstring( );
System.out.print("Entrez un int: ");
i = Readln.unint( );
System.out.print("Entrez un long : ");
L = Readln.unlong( );
System.out.print("Entrez un short : ");
s = Readln.unshort( );
System.out.print("Entrez un byte : ");
b = Readln.unbyte( );
System.out.print("Entrez un caractère : ");
k = Readln.unchar( );
System.out.print("Entrez un float : ");
f = Readln.unfloat( );
System.out.print("Entrez un double : ");
f = Readln.unfloat( );
}
}
voila mon pregramme je sais pas pourqoi s'execute pas quant je l'execute il met des ligne rouge sur readln vraiment je s'ais pas ce que je doi faire alors s'ils vous plais si quelqu'un a des reponce me repondre
A voir également:

3 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
18 nov. 2008 à 00:49
Bonsoir Nawar123,
Dans ton programme tu fais appel à la méthode statique de Readln.

Hors, tu n'as importé aucune classe s'appelant Readln. Autrement dit, pour le compilateur, Readln n'est qu'une chaîne incompréhensible, qu'il ne reconnait pas comme étant une classe, et c'est pour cela que ton IDE te le souligne en rouge.

Cordialement,
0
merci d'avoire me repondre ,mais que je doit faire pour resourdre ce probleme ?,est ce que vous pouvez me donner un programme correcte ,et merci en avance
0
bonsoir:
s'il vous plais est ce que vous pouver me donner un programme correcte pour lire des entrer au clavier et merci
0
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 329
18 nov. 2008 à 21:00
Bonsoir,
Voici un début de programme :
package ConsoleReader;

import java.util.Scanner;

public class ApplicationLireClavier {

	public static void main(String[] argv) {
		//on utilise ici le flux d'entrée standard
		Scanner sc = new Scanner(System.in);
		//On affiche les demandes dans le flux de sortie standard
		System.out.println("Entrez une chaîne : ");
		String chaine = sc.next();
		
		System.out.println("Entrez un int: ");
		int entier = sc.nextInt();
		
		//to be continued...
	}
	
}

Après, il est possible que ta classe Readln soit plus performante que le Scanner (peut-être qu'elle gérait les exceptions levées par le scanner notamment).

Cordialement,
0
merci monsieur Marco la baraque de votre aide votre programme ca marche bien merci
0
Utilisateur anonyme
21 nov. 2008 à 04:12
Bonjour,

Je te propose cette classe qui permet de parser les données String entrées dans un byte, un short, un int, un long , un double ou un float avec contrôle et levées d'exceptions :


import java.io.*;
public class IntroClavier
{
static String entree = "";
static String donnee_String = "";
static byte donnee_byte = 0;
static short donnee_short = 0;
static int donnee_int = 0;
static long donnee_long = 0;
static double donnee_double = 0;
static float donnee_float = 0f;

public static String entree()
{
try
{

// Definir un flux de caracteres d'entrée: fluxE ( Peut être remplacé par scanner )
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader fluxE = new BufferedReader(isr);
// L'intro termine par <Intro>
entree = fluxE.readLine(); // entree est un String
}
catch(IOException e)
{
System.err.println("Erreur: " + e.getMessage());
}
return entree;
}

public static byte donneesByte()
{
try
{
return Byte.parseByte(entree());
}
catch(NumberFormatException e)
{
return Byte.MIN_VALUE; // valeur la plus petite
}
}

public static short donneesShort()
{
try
{
return Short.parseShort(entree());
}
catch(NumberFormatException e)
{
return Short.MIN_VALUE; // valeur la plus petite
}
}

public static int donneesInt()
{
try
{
return Integer.parseInt(entree());
}
catch(NumberFormatException e)
{
return Integer.MIN_VALUE; // valeur la plus petite
}
}

public static long donneesLong()
{
try
{
return Long.parseLong(entree());
}
catch(NumberFormatException e)
{
return Long.MIN_VALUE; // valeur la plus petite
}
}

public static double donneesDouble()
{
try
{
donnee_double = Double.parseDouble(entree());
return donnee_double;
}
catch(NumberFormatException e)
{
return Double.NaN; // Non numérique
}
}

public static float donneesFloat()
{
try
{
donnee_float = Float.parseFloat(entree());
return donnee_float;
}
catch(NumberFormatException e)
{
return Float.NaN; // Non numérique ; valeur float.
}
}
}

Tu copies cette classe dans ton dossier de travail. Elle doit être dans le même dossier que les programmes qui veulent l'utiliser, et tu la compiles.

Ensuite pour y faire appel tu procèdes comme suit :

Pour obtenir un String:
System.out.println("\nEntrer une chaine de caracteres:");
String donnee_String = IntroClavier.entree();
System.out.println("donnee_String = " + donnee_String);

et/ou:
System.out.println("\nEntrer une donnee byte:");
byte donnee_byte = IntroClavier.donneesByte();
System.out.println("donnee_byte = " + donnee_byte);

et/ou:
System.out.println("\nEntrer une donnee short:");
short donnee_short = IntroClavier.donneesShort();
System.out.println("donnee_short = " + donnee_short);

et/ou:
System.out.println("\nEntrer une donnee int de -2147483648 a 2147483647:");
int donnee_int = IntroClavier.donneesInt();
System.out.println("donnee_int = " + donnee_int);

et/ou:
System.out.println("\nEntrer une donnee long:");
long donnee_long = IntroClavier.donneesLong();
System.out.println("donnee_long = " + donnee_long);

et/ou:
System.out.println("\nEntrer une donnee double:");
double donnee_double = IntroClavier.donneesDouble();
System.out.println("donnee_double = " + donnee_double);

et/ou:
System.out.println("\nEntrer une donnee float:");
float donnee_float = IntroClavier.donneesFloat();
System.out.println("donnee_float = " + donnee_float);

Bien entendu, saut pour obtenir un String, les données numériques entrées doivent respecter le format correspondant au type que l'on veut, par exemple pour int -2147483648 à 2147483647 et que du numérique.

Cordialement,

Dan
0