Java débutant erreur compiler: '(' expected

[Résolu/Fermé]
Signaler
Messages postés
65
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
16 août 2011
-
Messages postés
65
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
16 août 2011
-
Bonjour à tous,

Je fais actuellement un master de gestion et j'ai un cours d'algoritmique. Je dois donc coder en java, chose que je n'ai jamais faite auparavant.

Mon probleme:

Lorsque je compile mon programme, j'ai une erreur à la ligne 9 (je l'ai mise en gras)
Le compilateur me dit : '(' expected
Voila mon code

import objetMathematique.*;
import ordinateur.*;


class travail

{
		
	public static void suiteDeChiffres enleverUnSurDeux(suiteDeChiffres a, suiteDeChiffres s)
		{
			while(!a.estVide())
			{ 
				
			s.ajouterLeChiffreDerriere(a.premierChiffre());
			a.enleverLePremierChiffre();
			a.enleverLePremierChiffre();
			
			}
		

		}

	public static void main(String [] arguments)
		{

			ecran.afficher("Veuillez entrer une suite de chiffre de votre choix");
			clavier.lireUneSuiteDeChiffres();
			suiteDeChiffres = enleverUnSurDeux(a,s);
			ecran.afficher("Vous obtenez une nouvelle suite de chiffres issue de la première et dans laquelle on a enlevé un chiffre sur deux");
		
		}
		
}



Si vous voyez d'autres erreurs n'hésitez pas a m'en faire-part faire part]

Merci d'avance

7 réponses


Salut,

"public static void suiteDeChiffres enleverUnSurDeux(suiteDeChiffres a,..."

Ici tu veux déclarer une méthode avec un nom (suiteDeChiffres enleverUnSurDeux) comportant un espace...

D'après l'appel de cette méthode depuis la méthode main, elle devrait s'appeler enleverUnSurDeux(...

C'est la première chose à faire et compiler...

Cordialement,

Dan

Re,

Le compilateur prend 'suiteDeChiffres' comme nom de méthode et ne trouve pas la parenthèse ( qui doit suivre un nom de lméthode d'où l'erreur signalée.

Dan
Messages postés
65
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
16 août 2011
1
merci j'ai modifié ca...

j'ai donc enlever le suiteDeChiffres dans la méthode enleverUnSurDeux et dans la méthode main

mais maintenant j'ai 2 erreurs à propos du la ligne :
suiteDeChiffres = enleverUnSurDeux(a,s);

- cannot find symbol a
- cannot find symbol s
j'ai essayé en enlevant a, s dans les parenthèses et du coup je n'ai plus qu'une erreur a la même ligne
- cannot be applied to ()

je ne vois pas trop comment m'en sortir :S (un vrai débutant quoi :D)

Re,

a et s sont déclarés dans la méthode 'enleverUnSurDeux(...' donc non "visibles" depuis la méthode 'main'...

Il faudrait les déclarer au niveau de la calsse 'travail' (dont tu devrais changer le nom "travail" en "Travail" pour respecter les conventions de nommage d'une classe). Je précise que ce n'est pas la cause des erreurs...

 public class Travail
   {
      private static String a;
      private static String s = "";
      
       public static void enleverUnSurDeux(String a, String s)
      {
.....


Et dans 'main':

public static void main(String [] arguments)
      {
....
.....
clavier.lireUneSuiteDeChiffres(); // dont je ne sais rien
a = ce qui est saisi
enleverUnSurDeux(a,s);
......
......


Je pense que tu iras un peu plus loin...

Dan

Ps,

En fait a et s ne sont pas déclarés dans la méthode 'enleverUnSurDeux(...' mais passés en paramètres, il suffit de le faire au niveau de la classe.

Dan

Il ne faut pas passer s à 'enleverUnSurDeux(...'

Donc:

 public static void enleverUnSurDeux(String a)
{
....

//et dans 'main'

enleverUnSurDeux(a);


Dan
Messages postés
65
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
16 août 2011
1
merci beaucoup, j'ai fais les modifications mais ca ne marchait pas parce que mes variables étaient de types (suiteDeChiffres) donc j'ai remplacer String par suiteDeChiffres et mon programme compile... il a maintenant des bugs a l'execution mais ca c'est un autre problème! Je vais chercher un peu avant de t'embeter à nouveau

merci encore