IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Problème avec mon programme racine


Sujet :

avec Java

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 239
    Points : 95
    Points
    95
    Par défaut Problème avec mon programme racine
    Bonsoir,

    je débute en Java et je fais une programme faisant appel à une autre classe.

    Mon programme doit calculer des racines carrées et il fait appel à un classe clavier que j'ai déjà créé. Je l'ai créé dans un autre programme qui s'appelle clavier et qui affiche se que je tape. Mais là j'ai une erreur à la ligne 10.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    	
    //calcul de racines carrées
    //la classe Racines utilise la classe clavier
    public class Racines {
    
    	public static void main (String[] args)  mon prog s'arrête ici pour erreur
    	{
    		
    		final int NFOIS = 5;
    		int i;
    		double x;
    		double racx;
    		
    		System.out.println("Bonjour");
    		System.out.println("Je vais vous calculer "+NFOIS+" racines carrées");
    		
    		for (i=0; i<NFOIS; i++)
    		{
    			System.out.print("Donnez un nombre : ");
    			x = clavier.lireDouble();
    			if (x < 0.0)
    				System.out.println(x +" ne possède pas de racine carrée");
    			else
    			{
    				racx = Math.sqrt(x);
    				System.out.println(x + " a pour racine carrée : "+racx);
    			}
    		}
    		System.out.println("Travail terminé - Au revoir");
    	}
    
    }
    
    class clavier {
    	public static String lireString()  //lecture d'une chaine
    	{ 
    		String ligne_lue = null;
    		try
    		{
    			InputStreamReader lecteur = new InputStreamReader (System.in);
    			BufferedReader entree = new BufferedReader (lecteur);
    			ligne_lue = entree.readLine();
    		}
    		catch (IOException err)
    		{
    			System.exit(0);
    		}
    		return ligne_lue;
    	}
    	
    	public static float lireFloat()  //lecture d'un float
    	{
    		float x= 0; //valeur à lire
    		try
    		{
    			String ligne_lue = lireString();
    			x = Float.parseFloat(ligne_lue);
    		}
    		catch (NumberFormatException err)
    		{
    			System.out.println("*** Erreur de donnée ***");
    			System.exit(0);
    		}
    		return x;
    	}
    	
    	public static double lireDouble()  //lecture d'un double
    	{
    		double x=0; //valeur à lire
    		try
    		{
    			String ligne_lue = lireString();
    			x = Double.parseDouble(ligne_lue);
    		}
    		catch (NumberFormatException err)
    		{
    			System.out.println("*** Erreur de donnée ***");
    			System.exit(0);
    		}
    		return x;
    	}
    	
    	public static int lireInt()  //lecture d'un int
    	{
    		int n=0; //valeur à lire
    		try
    		{
    			String ligne_lue = lireString();
    			n = Integer.parseInt(ligne_lue);
    		}
    		catch (NumberFormatException err)
    		{
    			System.out.println("*** Erreur de donnée ***");
    			System.exit(0);
    		}
    		return n;
    	}
    Donc je ne sais pas pourquoi ça coince. La classe mise au mauvais endroit ou autre je ne sais pas?

    A y être voic le message d'erreur affiché par éclipse :
    Exception in thread "main" java.lang.Error: Unresolved compilation problem:

    at Racines.main(Racines.java:10)

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    l'erreur d'exécution te dit juste qu'il na pas pu compiler. Ce qui nous intéresse, c'est l'erreur que tu as eu à la compilation

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 239
    Points : 95
    Points
    95
    Par défaut
    et je le vois comment avec eclipse?

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    curseur sur la ligne soulignée en rouge

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 239
    Points : 95
    Points
    95
    Par défaut
    je verrais demain mais il me semble qu'il me surligne en vert la ligne contenant le main. Mais cela demande vérification.

    Il n'y aurait pas un problème au niveau de l'intégration de ma classe?

    Trouver, c'était une accolade manquante à la fin de ma seconde classe.

    Merci.

  6. #6
    Membre chevronné
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Points : 1 855
    Points
    1 855
    Par défaut
    sans répondre à ta question une autre remarque:
    chaque fois que tu lis une ligne tu recrée un système d'entrée/sortie ...( voilà bien un problème quand on abuse des méthodes statiques)....
    par ailleurs pourquoi reinventer la roue ? par ex. voir classes Console et/ou Scanner
    J'ai des principes: je peux toujours trouver une bonne raison pour les contredire .... mais j'ai des principes!
    (mon excellent bouquin sur Java : https://eska-publishing.com/fr/livre...822407076.html)

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 239
    Points : 95
    Points
    95
    Par défaut
    ???

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ce que dit shadoko, et je suis tout à fait d'accord avec lui, c'est que ta classe clavier
    fait ce que fait la classe scanner de java
    le fait d'une manière catastrophique, qui pourrait même ammener à perdre des données puisque tu crée une multitude de bufferedreader

  9. #9
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 239
    Points : 95
    Points
    95
    Par défaut
    je pense que la classe scanner de java sera peut-être aborder plus loin ou pas vu l'index (paru en 2006)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problèmes avec mon programme
    Par anthony.flet dans le forum Général Python
    Réponses: 7
    Dernier message: 05/09/2012, 08h58
  2. Réponses: 11
    Dernier message: 04/03/2012, 19h12
  3. [Débutant] Problème avec mon programme ( Type de valeur )
    Par Jcvag44800 dans le forum VB.NET
    Réponses: 10
    Dernier message: 21/12/2011, 21h02
  4. [XL-2003] Problème de tirage aléatoire avec mon programme
    Par MARGAR dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 15/11/2011, 15h19
  5. [PERL]problème avec mon premier programme
    Par lucifer01 dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 07/04/2009, 18h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo