Je ne comprends pas cette erreur, ca marche en C++ mais pas en java.
L'erreur est dans la seconde fonction coincide(CPeriode periode) qui appelle
la fonction coincide(Calendar t) de la même classe. J'ai besoin de
réutiliser des fonctions définies dans la même classe CPeriode que j'ai crée
: Que faire ?...
public class CPeriode
{
Calendar m_debut = new GregorianCalendar();
Calendar m_fin = new GregorianCalendar();
public CPeriode()
{
m_fin = m_debut;
}
public Calendar getFin()
{
return m_fin;
}
public Calendar getDebut()
{
return m_debut;
}
public void setFin(Calendar fin)
{
if (fin.after(m_debut)) m_fin = fin;
}
public void setDebut(Calendar debut)
{
if (debut.before(m_fin)) m_debut = debut;
}
public void addHeure(int heure)
{
m_fin.add(Calendar.HOUR, heure);
}
public boolean coincide (Calendar instant)
{
if (instant.after(m_debut)&&instant.before(m_fin))
return true;
return false;
}
public boolean coincide (CPeriode t)
{
if (t.getDebut().equals(m_debut)&&(t.getFin().equals(m_fin)) return
true;
if (this.coincide(t.getFin()) return true;
if (this.coincide(t.getDebut()) return true;
return false;
}
}
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
ZeGrunt
Bonjour,
Je ne comprends pas cette erreur, ca marche en C++ mais pas en java. L'erreur est dans la seconde fonction coincide(CPeriode periode) qui appelle la fonction coincide(Calendar t) de la même classe. J'ai besoin de réutiliser des fonctions définies dans la même classe CPeriode que j'ai crée : Que faire ?...
Quelle erreur ? Plus de précisions pourraient aider. Que penserais-tu de quelqu'un qui viendrait te voir en parlant de ton soft en te disant juste "ça marche pas, corrige-le" sans plus d'infos ?
public class CPeriode { Calendar m_debut = new GregorianCalendar(); Calendar m_fin = new GregorianCalendar();
public CPeriode() { m_fin = m_debut; }
A quoi cela sert d'avoir créé un objet pour m_fin si c'est pour le remplacer immédiatement ?? Je suis assez partisan de ne pas créer les objets non statiques en dehors du constructeur, ça "masque" moins de choses et ça ne change pas grand chose au final :
public class CPeriode { Calendar m_debut = null; Calendar m_fin = null;
public CPeriode() { m_debut = new GregorianCalendar(); m_fin = m_debut; }
Là il est beaucoup plus clair qu'il n'y a qu'un seul objet. Il ne faut pas s'amuser à reprendre "bêtement" les concepts de C++ pour le remettre en Java. ;)
public Calendar getFin() { return m_fin; } public Calendar getDebut() { return m_debut; } public void setFin(Calendar fin) { if (fin.after(m_debut)) m_fin = fin; } public void setDebut(Calendar debut) { if (debut.before(m_fin)) m_debut = debut; } public void addHeure(int heure) { m_fin.add(Calendar.HOUR, heure); }
Déjà, là, il peut y avoir problème : après l'appel à constructeur, m_fin et m_debut pointe vers le même objet. Le '=' Java n'a rien à voir avec l'opérateur de recopie de C++, c'est juste une copie de référence.
Donc, si tu fais : CPeriode unePeriode = new CPeriode(); unePeriode.addHeure(5);
Tu auras la (désagréable ?) surprise de voir que ton m_debut a aussi augmenté de 5h !! Moralité : il faut volontairement recopié l'objet m_debut dans l'objet m_fin pour qu'ils soient réellement différent.
public boolean coincide (Calendar instant) { if (instant.after(m_debut)&&instant.before(m_fin)) return true; return false; } public boolean coincide (CPeriode t) { if (t.getDebut().equals(m_debut)&&(t.getFin().equals(m_fin)) return true; if (this.coincide(t.getFin()) return true; if (this.coincide(t.getDebut()) return true; return false; } }
Cette méthode retourne 'true' si les eux périodes ont au moins une date en commun, c'est bien ça ? Si oui, cela semble bon.
A mon avis, tu as dû te faire avoir par le coup de l'objet commun cité plus haut.
A+
ZeGrunt.
Bonjour,
Je ne comprends pas cette erreur, ca marche en C++ mais pas en java.
L'erreur est dans la seconde fonction coincide(CPeriode periode) qui appelle
la fonction coincide(Calendar t) de la même classe. J'ai besoin de
réutiliser des fonctions définies dans la même classe CPeriode que j'ai crée
: Que faire ?...
Quelle erreur ? Plus de précisions pourraient aider. Que penserais-tu
de quelqu'un qui viendrait te voir en parlant de ton soft en te disant
juste "ça marche pas, corrige-le" sans plus d'infos ?
public class CPeriode
{
Calendar m_debut = new GregorianCalendar();
Calendar m_fin = new GregorianCalendar();
public CPeriode()
{
m_fin = m_debut;
}
A quoi cela sert d'avoir créé un objet pour m_fin si c'est pour le
remplacer immédiatement ??
Je suis assez partisan de ne pas créer les objets non statiques en
dehors du constructeur, ça "masque" moins de choses et ça ne change pas
grand chose au final :
public class CPeriode
{
Calendar m_debut = null;
Calendar m_fin = null;
public CPeriode()
{
m_debut = new GregorianCalendar();
m_fin = m_debut;
}
Là il est beaucoup plus clair qu'il n'y a qu'un seul objet. Il ne faut
pas s'amuser à reprendre "bêtement" les concepts de C++ pour le remettre
en Java. ;)
public Calendar getFin()
{
return m_fin;
}
public Calendar getDebut()
{
return m_debut;
}
public void setFin(Calendar fin)
{
if (fin.after(m_debut)) m_fin = fin;
}
public void setDebut(Calendar debut)
{
if (debut.before(m_fin)) m_debut = debut;
}
public void addHeure(int heure)
{
m_fin.add(Calendar.HOUR, heure);
}
Déjà, là, il peut y avoir problème : après l'appel à constructeur,
m_fin et m_debut pointe vers le même objet. Le '=' Java n'a rien à voir
avec l'opérateur de recopie de C++, c'est juste une copie de référence.
Donc, si tu fais :
CPeriode unePeriode = new CPeriode();
unePeriode.addHeure(5);
Tu auras la (désagréable ?) surprise de voir que ton m_debut a aussi
augmenté de 5h !! Moralité : il faut volontairement recopié l'objet
m_debut dans l'objet m_fin pour qu'ils soient réellement différent.
public boolean coincide (Calendar instant)
{
if (instant.after(m_debut)&&instant.before(m_fin))
return true;
return false;
}
public boolean coincide (CPeriode t)
{
if (t.getDebut().equals(m_debut)&&(t.getFin().equals(m_fin)) return
true;
if (this.coincide(t.getFin()) return true;
if (this.coincide(t.getDebut()) return true;
return false;
}
}
Cette méthode retourne 'true' si les eux périodes ont au moins une date
en commun, c'est bien ça ? Si oui, cela semble bon.
A mon avis, tu as dû te faire avoir par le coup de l'objet commun cité
plus haut.
Je ne comprends pas cette erreur, ca marche en C++ mais pas en java. L'erreur est dans la seconde fonction coincide(CPeriode periode) qui appelle la fonction coincide(Calendar t) de la même classe. J'ai besoin de réutiliser des fonctions définies dans la même classe CPeriode que j'ai crée : Que faire ?...
Quelle erreur ? Plus de précisions pourraient aider. Que penserais-tu de quelqu'un qui viendrait te voir en parlant de ton soft en te disant juste "ça marche pas, corrige-le" sans plus d'infos ?
public class CPeriode { Calendar m_debut = new GregorianCalendar(); Calendar m_fin = new GregorianCalendar();
public CPeriode() { m_fin = m_debut; }
A quoi cela sert d'avoir créé un objet pour m_fin si c'est pour le remplacer immédiatement ?? Je suis assez partisan de ne pas créer les objets non statiques en dehors du constructeur, ça "masque" moins de choses et ça ne change pas grand chose au final :
public class CPeriode { Calendar m_debut = null; Calendar m_fin = null;
public CPeriode() { m_debut = new GregorianCalendar(); m_fin = m_debut; }
Là il est beaucoup plus clair qu'il n'y a qu'un seul objet. Il ne faut pas s'amuser à reprendre "bêtement" les concepts de C++ pour le remettre en Java. ;)
public Calendar getFin() { return m_fin; } public Calendar getDebut() { return m_debut; } public void setFin(Calendar fin) { if (fin.after(m_debut)) m_fin = fin; } public void setDebut(Calendar debut) { if (debut.before(m_fin)) m_debut = debut; } public void addHeure(int heure) { m_fin.add(Calendar.HOUR, heure); }
Déjà, là, il peut y avoir problème : après l'appel à constructeur, m_fin et m_debut pointe vers le même objet. Le '=' Java n'a rien à voir avec l'opérateur de recopie de C++, c'est juste une copie de référence.
Donc, si tu fais : CPeriode unePeriode = new CPeriode(); unePeriode.addHeure(5);
Tu auras la (désagréable ?) surprise de voir que ton m_debut a aussi augmenté de 5h !! Moralité : il faut volontairement recopié l'objet m_debut dans l'objet m_fin pour qu'ils soient réellement différent.
public boolean coincide (Calendar instant) { if (instant.after(m_debut)&&instant.before(m_fin)) return true; return false; } public boolean coincide (CPeriode t) { if (t.getDebut().equals(m_debut)&&(t.getFin().equals(m_fin)) return true; if (this.coincide(t.getFin()) return true; if (this.coincide(t.getDebut()) return true; return false; } }
Cette méthode retourne 'true' si les eux périodes ont au moins une date en commun, c'est bien ça ? Si oui, cela semble bon.
A mon avis, tu as dû te faire avoir par le coup de l'objet commun cité plus haut.
A+
ZeGrunt.
Sylvain Pons
L'erreur est à la FIN DE LA PREMIERE LIGNE DE LA SECONDE fonction coincide(CPeriode periode) qui appelle la fonction coincide(Calendar t) de la même classe. ligne 34 : if (t.getDebut().equals(m_debut)&&(t.getFin().equals(m_fin)) ligne 34 : return true;
"CPeriode.java" : Error # : 200 : ')' expected at line 34, column 66
Je ne comprends pas pourquoi !
"ZeGrunt" a écrit dans le message de news: 424e6df2$0$2876$
Bonjour,
Je ne comprends pas cette erreur, ca marche en C++ mais pas en java. L'erreur est dans la seconde fonction coincide(CPeriode periode) qui appelle la fonction coincide(Calendar t) de la même classe. J'ai besoin de réutiliser des fonctions définies dans la même classe CPeriode que j'ai crée : Que faire ?...
Quelle erreur ? Plus de précisions pourraient aider. Que penserais-tu de quelqu'un qui viendrait te voir en parlant de ton soft en te disant juste "ça marche pas, corrige-le" sans plus d'infos ?
public class CPeriode { Calendar m_debut = new GregorianCalendar(); Calendar m_fin = new GregorianCalendar();
public CPeriode() { m_fin = m_debut; }
A quoi cela sert d'avoir créé un objet pour m_fin si c'est pour le remplacer immédiatement ?? Je suis assez partisan de ne pas créer les objets non statiques en dehors du constructeur, ça "masque" moins de choses et ça ne change pas grand chose au final :
public class CPeriode { Calendar m_debut = null; Calendar m_fin = null;
public CPeriode() { m_debut = new GregorianCalendar(); m_fin = m_debut; }
Là il est beaucoup plus clair qu'il n'y a qu'un seul objet. Il ne faut pas s'amuser à reprendre "bêtement" les concepts de C++ pour le remettre en Java. ;)
public Calendar getFin() { return m_fin; } public Calendar getDebut() { return m_debut; } public void setFin(Calendar fin) { if (fin.after(m_debut)) m_fin = fin; } public void setDebut(Calendar debut) { if (debut.before(m_fin)) m_debut = debut; } public void addHeure(int heure) { m_fin.add(Calendar.HOUR, heure); }
Déjà, là, il peut y avoir problème : après l'appel à constructeur, m_fin et m_debut pointe vers le même objet. Le '=' Java n'a rien à voir avec l'opérateur de recopie de C++, c'est juste une copie de référence.
Donc, si tu fais : CPeriode unePeriode = new CPeriode(); unePeriode.addHeure(5);
Tu auras la (désagréable ?) surprise de voir que ton m_debut a aussi augmenté de 5h !! Moralité : il faut volontairement recopié l'objet m_debut dans l'objet m_fin pour qu'ils soient réellement différent.
public boolean coincide (Calendar instant) { if (instant.after(m_debut)&&instant.before(m_fin)) return true; return false; } public boolean coincide (CPeriode t) { if (t.getDebut().equals(m_debut)&&(t.getFin().equals(m_fin)) return true; if (this.coincide(t.getFin()) return true; if (this.coincide(t.getDebut()) return true; return false; } }
Cette méthode retourne 'true' si les eux périodes ont au moins une date en commun, c'est bien ça ? Si oui, cela semble bon.
A mon avis, tu as dû te faire avoir par le coup de l'objet commun cité plus haut.
A+
ZeGrunt.
L'erreur est à la FIN DE LA PREMIERE LIGNE DE LA SECONDE fonction
coincide(CPeriode periode) qui appelle
la fonction coincide(Calendar t) de la même classe.
ligne 34 : if (t.getDebut().equals(m_debut)&&(t.getFin().equals(m_fin))
ligne 34 : return true;
"CPeriode.java" : Error # : 200 : ')' expected at line 34, column 66
Je ne comprends pas pourquoi !
"ZeGrunt" <zegrunt@NOSPAM.free.fr> a écrit dans le message de news:
424e6df2$0$2876$626a14ce@news.free.fr...
Bonjour,
Je ne comprends pas cette erreur, ca marche en C++ mais pas en java.
L'erreur est dans la seconde fonction coincide(CPeriode periode) qui
appelle
la fonction coincide(Calendar t) de la même classe. J'ai besoin de
réutiliser des fonctions définies dans la même classe CPeriode que j'ai
crée
: Que faire ?...
Quelle erreur ? Plus de précisions pourraient aider. Que penserais-tu
de quelqu'un qui viendrait te voir en parlant de ton soft en te disant
juste "ça marche pas, corrige-le" sans plus d'infos ?
public class CPeriode
{
Calendar m_debut = new GregorianCalendar();
Calendar m_fin = new GregorianCalendar();
public CPeriode()
{
m_fin = m_debut;
}
A quoi cela sert d'avoir créé un objet pour m_fin si c'est pour le
remplacer immédiatement ??
Je suis assez partisan de ne pas créer les objets non statiques en
dehors du constructeur, ça "masque" moins de choses et ça ne change pas
grand chose au final :
public class CPeriode
{
Calendar m_debut = null;
Calendar m_fin = null;
public CPeriode()
{
m_debut = new GregorianCalendar();
m_fin = m_debut;
}
Là il est beaucoup plus clair qu'il n'y a qu'un seul objet. Il ne faut
pas s'amuser à reprendre "bêtement" les concepts de C++ pour le remettre
en Java. ;)
public Calendar getFin()
{
return m_fin;
}
public Calendar getDebut()
{
return m_debut;
}
public void setFin(Calendar fin)
{
if (fin.after(m_debut)) m_fin = fin;
}
public void setDebut(Calendar debut)
{
if (debut.before(m_fin)) m_debut = debut;
}
public void addHeure(int heure)
{
m_fin.add(Calendar.HOUR, heure);
}
Déjà, là, il peut y avoir problème : après l'appel à constructeur,
m_fin et m_debut pointe vers le même objet. Le '=' Java n'a rien à voir
avec l'opérateur de recopie de C++, c'est juste une copie de référence.
Donc, si tu fais :
CPeriode unePeriode = new CPeriode();
unePeriode.addHeure(5);
Tu auras la (désagréable ?) surprise de voir que ton m_debut a aussi
augmenté de 5h !! Moralité : il faut volontairement recopié l'objet
m_debut dans l'objet m_fin pour qu'ils soient réellement différent.
public boolean coincide (Calendar instant)
{
if (instant.after(m_debut)&&instant.before(m_fin))
return true;
return false;
}
public boolean coincide (CPeriode t)
{
if (t.getDebut().equals(m_debut)&&(t.getFin().equals(m_fin)) return
true;
if (this.coincide(t.getFin()) return true;
if (this.coincide(t.getDebut()) return true;
return false;
}
}
Cette méthode retourne 'true' si les eux périodes ont au moins une date
en commun, c'est bien ça ? Si oui, cela semble bon.
A mon avis, tu as dû te faire avoir par le coup de l'objet commun cité
plus haut.
L'erreur est à la FIN DE LA PREMIERE LIGNE DE LA SECONDE fonction coincide(CPeriode periode) qui appelle la fonction coincide(Calendar t) de la même classe. ligne 34 : if (t.getDebut().equals(m_debut)&&(t.getFin().equals(m_fin)) ligne 34 : return true;
"CPeriode.java" : Error # : 200 : ')' expected at line 34, column 66
Je ne comprends pas pourquoi !
"ZeGrunt" a écrit dans le message de news: 424e6df2$0$2876$
Bonjour,
Je ne comprends pas cette erreur, ca marche en C++ mais pas en java. L'erreur est dans la seconde fonction coincide(CPeriode periode) qui appelle la fonction coincide(Calendar t) de la même classe. J'ai besoin de réutiliser des fonctions définies dans la même classe CPeriode que j'ai crée : Que faire ?...
Quelle erreur ? Plus de précisions pourraient aider. Que penserais-tu de quelqu'un qui viendrait te voir en parlant de ton soft en te disant juste "ça marche pas, corrige-le" sans plus d'infos ?
public class CPeriode { Calendar m_debut = new GregorianCalendar(); Calendar m_fin = new GregorianCalendar();
public CPeriode() { m_fin = m_debut; }
A quoi cela sert d'avoir créé un objet pour m_fin si c'est pour le remplacer immédiatement ?? Je suis assez partisan de ne pas créer les objets non statiques en dehors du constructeur, ça "masque" moins de choses et ça ne change pas grand chose au final :
public class CPeriode { Calendar m_debut = null; Calendar m_fin = null;
public CPeriode() { m_debut = new GregorianCalendar(); m_fin = m_debut; }
Là il est beaucoup plus clair qu'il n'y a qu'un seul objet. Il ne faut pas s'amuser à reprendre "bêtement" les concepts de C++ pour le remettre en Java. ;)
public Calendar getFin() { return m_fin; } public Calendar getDebut() { return m_debut; } public void setFin(Calendar fin) { if (fin.after(m_debut)) m_fin = fin; } public void setDebut(Calendar debut) { if (debut.before(m_fin)) m_debut = debut; } public void addHeure(int heure) { m_fin.add(Calendar.HOUR, heure); }
Déjà, là, il peut y avoir problème : après l'appel à constructeur, m_fin et m_debut pointe vers le même objet. Le '=' Java n'a rien à voir avec l'opérateur de recopie de C++, c'est juste une copie de référence.
Donc, si tu fais : CPeriode unePeriode = new CPeriode(); unePeriode.addHeure(5);
Tu auras la (désagréable ?) surprise de voir que ton m_debut a aussi augmenté de 5h !! Moralité : il faut volontairement recopié l'objet m_debut dans l'objet m_fin pour qu'ils soient réellement différent.
public boolean coincide (Calendar instant) { if (instant.after(m_debut)&&instant.before(m_fin)) return true; return false; } public boolean coincide (CPeriode t) { if (t.getDebut().equals(m_debut)&&(t.getFin().equals(m_fin)) return true; if (this.coincide(t.getFin()) return true; if (this.coincide(t.getDebut()) return true; return false; } }
Cette méthode retourne 'true' si les eux périodes ont au moins une date en commun, c'est bien ça ? Si oui, cela semble bon.
A mon avis, tu as dû te faire avoir par le coup de l'objet commun cité plus haut.
A+
ZeGrunt.
ICSD news & forums
L'erreur est à la FIN DE LA PREMIERE LIGNE DE LA SECONDE fonction coincide(CPeriode periode) qui appelle la fonction coincide(Calendar t) de la même classe. ligne 34 : if (t.getDebut().equals(m_debut)&&(t.getFin().equals(m_fi n)) ligne 34 : return true;
"CPeriode.java" : Error # : 200 : ')' expected at line 34, column 66
Je ne comprends pas pourquoi !
Cela ne serait pas une erreur de syntaxe toute bete :
if (t.getDebut().equals(m_debut)&&(t.getFin().equals(m_fin)) 1 2 3 4 5 6 1 2 3 45 6 paranthéses ouvertes pour 5 fermées, il en manque une non ? Jacques
L'erreur est à la FIN DE LA PREMIERE LIGNE DE LA SECONDE fonction
coincide(CPeriode periode) qui appelle
la fonction coincide(Calendar t) de la même classe.
ligne 34 : if (t.getDebut().equals(m_debut)&&(t.getFin().equals(m_fi n))
ligne 34 : return true;
"CPeriode.java" : Error # : 200 : ')' expected at line 34, column 66
Je ne comprends pas pourquoi !
Cela ne serait pas une erreur de syntaxe toute bete :
if (t.getDebut().equals(m_debut)&&(t.getFin().equals(m_fin))
1 2 3 4 5 6
1 2 3 45
6 paranthéses ouvertes pour 5 fermées, il en manque une non ?
Jacques
L'erreur est à la FIN DE LA PREMIERE LIGNE DE LA SECONDE fonction coincide(CPeriode periode) qui appelle la fonction coincide(Calendar t) de la même classe. ligne 34 : if (t.getDebut().equals(m_debut)&&(t.getFin().equals(m_fi n)) ligne 34 : return true;
"CPeriode.java" : Error # : 200 : ')' expected at line 34, column 66
Je ne comprends pas pourquoi !
Cela ne serait pas une erreur de syntaxe toute bete :
if (t.getDebut().equals(m_debut)&&(t.getFin().equals(m_fin)) 1 2 3 4 5 6 1 2 3 45 6 paranthéses ouvertes pour 5 fermées, il en manque une non ? Jacques
ICSD news & forums
L'erreur est à la FIN DE LA PREMIERE LIGNE DE LA SECONDE fonction coincide(CPeriode periode) qui appelle la fonction coincide(Calendar t) de la même classe. ligne 34 : if (t.getDebut().equals(m_debut)&&(t.getFin().equals(m_fin)) ligne 34 : return true;
"CPeriode.java" : Error # : 200 : ')' expected at line 34, column 66
Je ne comprends pas pourquoi !
Cela ne serait pas une erreur de syntaxe toute bete :
if (t.getDebut().equals(m_debut)&&(t.getFin().equals(m_fin)) 1 2 3 4 5 6 1 2 3 45 6 paranthéses ouvertes pour 5 fermées, il en manque une non ? Jacques Désolé, je n'avais pas vu la réponse plus haut !
Cela vaut presque la même note que prendre 5) pour 6
L'erreur est à la FIN DE LA PREMIERE LIGNE DE LA SECONDE fonction
coincide(CPeriode periode) qui appelle
la fonction coincide(Calendar t) de la même classe.
ligne 34 : if
(t.getDebut().equals(m_debut)&&(t.getFin().equals(m_fin))
ligne 34 : return true;
"CPeriode.java" : Error # : 200 : ')' expected at line 34, column 66
Je ne comprends pas pourquoi !
Cela ne serait pas une erreur de syntaxe toute bete :
if (t.getDebut().equals(m_debut)&&(t.getFin().equals(m_fin))
1 2 3 4 5 6
1 2 3 45
6 paranthéses ouvertes pour 5 fermées, il en manque une non ?
Jacques
Désolé, je n'avais pas vu la réponse plus haut !
Cela vaut presque la même note que prendre 5) pour 6
L'erreur est à la FIN DE LA PREMIERE LIGNE DE LA SECONDE fonction coincide(CPeriode periode) qui appelle la fonction coincide(Calendar t) de la même classe. ligne 34 : if (t.getDebut().equals(m_debut)&&(t.getFin().equals(m_fin)) ligne 34 : return true;
"CPeriode.java" : Error # : 200 : ')' expected at line 34, column 66
Je ne comprends pas pourquoi !
Cela ne serait pas une erreur de syntaxe toute bete :
if (t.getDebut().equals(m_debut)&&(t.getFin().equals(m_fin)) 1 2 3 4 5 6 1 2 3 45 6 paranthéses ouvertes pour 5 fermées, il en manque une non ? Jacques Désolé, je n'avais pas vu la réponse plus haut !
Cela vaut presque la même note que prendre 5) pour 6