OVH Cloud OVH Cloud

[Debutante] illegal start of expression

15 réponses
Avatar
Lea
Bonjour,

Je voudrais savoir comment éviter cette erreur à la compilation.

protected int x;
protected String y;
...

public class Point{
public static void main(String args[]){
public String toString(){
return x + ";" + y;
}

Merci

Léa

5 réponses

1 2
Avatar
Lea
Bonjour,

Je voudrais savoir comment éviter cette erreur à la compilation.

protected int x;
protected String y;
...

public class Point{
public static void main(String args[]){
public String toString(){
return x + ";" + y;
}

Merci

Léa


Voilà j'ai trouvé la réponse à mon problème : je poste cette url sur le
ng au cas où d'autres débutants rechercheraient des informations sur la
méthode toString()

http://igm.univ-mlv.fr/~duris/ENPC/progSeance5.html

Avatar
Wismerhill
Lea ecrivit le 02/03/2005 14:22 :

Bonjour,

Je voudrais savoir comment éviter cette erreur à la compilation.

protected int x;
protected String y;
...

public class Point{
public static void main(String args[]){
public String toString(){
return x + ";" + y;
}

Merci

Léa



Voilà j'ai trouvé la réponse à mon problème : je poste cette url sur le
ng au cas où d'autres débutants rechercheraient des informations sur la
méthode toString()

http://igm.univ-mlv.fr/~duris/ENPC/progSeance5.html


Tu peux développer ? Le code que tu as posté n'est pas correct
syntaxiquement et je ne comprends pas ce que tu essayes de faire.


Avatar
Wismerhill
Lea ecrivit le 02/03/2005 14:22 :

Bonjour,

Je voudrais savoir comment éviter cette erreur à la compilation.

protected int x;
protected String y;
...

public class Point{
public static void main(String args[]){
public String toString(){
return x + ";" + y;
}

Merci

Léa



Voilà j'ai trouvé la réponse à mon problème : je poste cette url sur le
ng au cas où d'autres débutants rechercheraient des informations sur la
méthode toString()

http://igm.univ-mlv.fr/~duris/ENPC/progSeance5.html


J'oubliais, ce cours n'est pas du tout pédagogique, il expose le
comment mais n'explique pas le pourquoi. Les concepts ne sont pas
définis clairement et simplement.

Pololom! -> absolument aller là http://penserenjava.free.fr/


Avatar
Valdo Tschantre

public class Prob{
public static void main(String args[]){
public String toString();
}
}






Il me semble qu'il faudrait que tu te penches sur ce que sont les
modèles objet, avant de coder en Java (ou tout autres langages orientés
objet), pour ne pas te perdre...

Les modèles objet, comme leurs noms l'indiquent, ont pour briques de
base les OBJETs. Un objet est l'INSTANCE d'une classe (INTERFACE +
COMPORTEMENT) ayant sa propre IDENTITE (à ce sujet, tu peux revoir ton
post précédant sur la création d'objet). Et pour finir, deux objets
communiquent entre eux par l'envoi de MESSAGE.

Ce faisant, en considérant (même de façon abusive) d'une part que les
METHODEs sont aux interfaces ce que les messages sont aux objets, et
d'autre part que les REFERENCEs identifient les objets, on traduira en
Java l'envoi d'un message MonMessage à un objet MonObjet d'instance de
classe MaClass par :

<code>

/*
*
*/
public class MaClasse {

/*
* Méthode d'instance (ie. non static) pour implémenter le
* comportement de la réception du message MonMessage.
*/
public void methodePourMonMessage() {

// Comportement

} /* end methodePourMonMessage() */

} /* end class MaClass */


/*
*
*/
public class Main {

/*
* Méthode de classe (ie. static) pour implémenter le comportement
* de l'entrée du programme.
*/
public static void main(String args) {

// Initialisation de la référence referenceSurMonObjet
// sur un objet d'instance MaClasse
MaClass referenceSurMonObjet = new MaClass();

// Envoi du message MonMessage à l'objet identifié par la
// référencé referanceSurMonObjet
referanceSurMonObjet.methodePourMonMessage();

} /* end main() */

} /* end class Main */

</code>

Je te laisse projeter cette exemple sur tes exercices...


Valdo.





Avatar
Lea
Lea ecrivit le 02/03/2005 14:22 :


Bonjour,

Je voudrais savoir comment éviter cette erreur à la compilation.

protected int x;
protected String y;
...

public class Point{
public static void main(String args[]){
public String toString(){
return x + ";" + y;
}

Merci

Léa




Voilà j'ai trouvé la réponse à mon problème : je poste cette url sur
le ng au cas où d'autres débutants rechercheraient des informations
sur la méthode toString()

http://igm.univ-mlv.fr/~duris/ENPC/progSeance5.html



Tu peux développer ? Le code que tu as posté n'est pas correct
syntaxiquement et je ne comprends pas ce que tu essayes de faire.


Post précédent :

Ma question était : "La méthode public String toString() est définit
dans la classe Point. Comment y faire appel à partir de la classe Prob
si elle "ne peut jamais apparaître comme tel dans une classe"?


TD

public class Point {
private double x;
private double y;
...
public String toString() {
return "(" + x + "," + y + ")";
}
public static void main(String[] args) {
Point o = new Point(0,0);
System.out.println(o.toString());
Point p = new Point(1.5,3.4);
System.out.println(p);
p.translate(0.5,-1.4);
System.out.println("Après translation: " + p.toString());
...}
}

Question :

remplacer dans le main l'instruction System.out.println(p.toString());
par System.out.println(p);. Que se passe-t-il?

Résultat :

(0.0,0.0)
(1.5,3.4)
Après translation: (2.0,2.0)

Le résultat de change pas.

Commentaire du prof :

Lorsque son argument n'est pas un type primitif, mais une référence à un
objet d'une classe, la méthode println appelle automatiquement la
méthode toString() sur cette référence avant d'effectuer l'affichage de
la chaîne de caractère résultant de cet appel.

Pour en revenir à mon problème du début, j'aurais dû écrire mes classes
de la manière suivante :

class Point{
protected int x;
protected String y;
...
public String toString(){
return x + ";" + y;
}
}

public class Prob{
public static void main(String args[]){
Point c1=new Point();
System.out.println("c1-->"+c1.toString());// ou
System.out.println("c1-->"+c1) car appel implicite
...
}
}

Quelquefois il est plus facile de comprendre à partir d'un exemple ...



1 2