Java débutant erreur compiler: '(' expected

Résolu/Fermé
findizy Messages postés 65 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 16 août 2011 - 7 oct. 2009 à 18:49
findizy Messages postés 65 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 16 août 2011 - 8 oct. 2009 à 11:42
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

Utilisateur anonyme
7 oct. 2009 à 19:36
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
0
Utilisateur anonyme
7 oct. 2009 à 19:45
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
0
findizy Messages postés 65 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 16 août 2011 1
7 oct. 2009 à 19:58
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)
0
Utilisateur anonyme
8 oct. 2009 à 04:29
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
0

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

Posez votre question
Utilisateur anonyme
8 oct. 2009 à 04:42
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
0
Utilisateur anonyme
8 oct. 2009 à 06:43
Il ne faut pas passer s à 'enleverUnSurDeux(...'

Donc:

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

//et dans 'main'

enleverUnSurDeux(a);


Dan
0
findizy Messages postés 65 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 16 août 2011 1
8 oct. 2009 à 11:42
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
0