je voudrais ajouter des méthodes à java.math.BigInteger,
du coup, je tente l'extension suivante:
import java.math.BigInteger;
public class ExtendedBignum extends BigInteger {
// pas de constructeur
public ... methode1 {...}
public ... methode2 {...}
public ... methode3 {...}
etc.
}
mais j'obtiens immédiatement le message d'erreur:
ExtendedBignum.java:3: cannot resolve symbol
symbol : constructor BigInteger ()
location: class java.math.BigInteger
public class ExtendedBignum extends BigInteger {
^
1 error
Que dois-je faire ?
--
« nous devons agir comme si la chose qui peut-être ne sera pas devait
être » (Kant, Métaphysique des moeurs, doctrine du droit, II conclusion)
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
Bruno Nogent
redefinir le constructeur
public class ExtendedBignum extends BigInteger {
public ExtendedBignum() { super(); } //...... }
"Thomas Baruchel" wrote in message news:4028f5ad$0$28159$
Bonjour,
je voudrais ajouter des méthodes à java.math.BigInteger,
du coup, je tente l'extension suivante:
import java.math.BigInteger;
public class ExtendedBignum extends BigInteger { // pas de constructeur public ... methode1 {...} public ... methode2 {...} public ... methode3 {...} etc. }
mais j'obtiens immédiatement le message d'erreur: ExtendedBignum.java:3: cannot resolve symbol symbol : constructor BigInteger () location: class java.math.BigInteger public class ExtendedBignum extends BigInteger { ^ 1 error
Que dois-je faire ?
-- « nous devons agir comme si la chose qui peut-être ne sera pas devait être » (Kant, Métaphysique des moeurs, doctrine du droit, II conclusion)
Thomas Baruchel
redefinir le constructeur
public class ExtendedBignum extends BigInteger {
public ExtendedBignum() {
super();
}
//......
}
"Thomas Baruchel" <thomas.baruchel@libertysurf.fr> wrote in message
news:4028f5ad$0$28159$626a14ce@news.free.fr...
Bonjour,
je voudrais ajouter des méthodes à java.math.BigInteger,
du coup, je tente l'extension suivante:
import java.math.BigInteger;
public class ExtendedBignum extends BigInteger {
// pas de constructeur
public ... methode1 {...}
public ... methode2 {...}
public ... methode3 {...}
etc.
}
mais j'obtiens immédiatement le message d'erreur:
ExtendedBignum.java:3: cannot resolve symbol
symbol : constructor BigInteger ()
location: class java.math.BigInteger
public class ExtendedBignum extends BigInteger {
^
1 error
Que dois-je faire ?
--
« nous devons agir comme si la chose qui peut-être ne sera pas devait
être » (Kant, Métaphysique des moeurs, doctrine du droit, II conclusion)
"Thomas Baruchel" wrote in message news:4028f5ad$0$28159$
Bonjour,
je voudrais ajouter des méthodes à java.math.BigInteger,
du coup, je tente l'extension suivante:
import java.math.BigInteger;
public class ExtendedBignum extends BigInteger { // pas de constructeur public ... methode1 {...} public ... methode2 {...} public ... methode3 {...} etc. }
mais j'obtiens immédiatement le message d'erreur: ExtendedBignum.java:3: cannot resolve symbol symbol : constructor BigInteger () location: class java.math.BigInteger public class ExtendedBignum extends BigInteger { ^ 1 error
Que dois-je faire ?
-- « nous devons agir comme si la chose qui peut-être ne sera pas devait être » (Kant, Métaphysique des moeurs, doctrine du droit, II conclusion)
Thomas Baruchel
Jc Sirot
Thomas Baruchel wrote:
import java.math.BigInteger;
public class ExtendedBignum extends BigInteger { // pas de constructeur public ... methode1 {...} public ... methode2 {...} public ... methode3 {...} etc. }
mais j'obtiens immédiatement le message d'erreur: ExtendedBignum.java:3: cannot resolve symbol symbol : constructor BigInteger () location: class java.math.BigInteger public class ExtendedBignum extends BigInteger { ^ 1 error
Que dois-je faire ?
Quand on ne définit pas de constructeur explicitement dans une classe, il en existe toujours un, implicite, qui se contente d'appler super(), c'est-à-dire le constructeur sans paramètre de la superclasse. La classe ExtendedBignum ne possède pas de constructeur explicite, donc elle possède le constructeur implicite
public ExtendedBignum() { super(); }
Cependant la classe java.math.BigInteger ne possède pas de constructeur sans paramètre, ce qui explique ceci :
cannot resolve symbol symbol : constructor BigInteger ()
Pour résoudre le problème, il suffit donc de définir un ou plusieur s constructeurs dans ExtendedBignum qui appellent explicitement les constructeurs de BigInteger.
--
Cordialement -- JC Sirot
Thomas Baruchel wrote:
import java.math.BigInteger;
public class ExtendedBignum extends BigInteger {
// pas de constructeur
public ... methode1 {...}
public ... methode2 {...}
public ... methode3 {...}
etc.
}
mais j'obtiens immédiatement le message d'erreur:
ExtendedBignum.java:3: cannot resolve symbol
symbol : constructor BigInteger ()
location: class java.math.BigInteger
public class ExtendedBignum extends BigInteger {
^
1 error
Que dois-je faire ?
Quand on ne définit pas de constructeur explicitement dans une classe,
il en existe toujours un, implicite, qui se contente d'appler super(),
c'est-à-dire le constructeur sans paramètre de la superclasse.
La classe ExtendedBignum ne possède pas de constructeur explicite, donc
elle possède le constructeur implicite
public ExtendedBignum() { super(); }
Cependant la classe java.math.BigInteger ne possède pas de constructeur
sans paramètre, ce qui explique ceci :
cannot resolve symbol
symbol : constructor BigInteger ()
Pour résoudre le problème, il suffit donc de définir un ou plusieur s
constructeurs dans ExtendedBignum qui appellent explicitement les
constructeurs de BigInteger.
public class ExtendedBignum extends BigInteger { // pas de constructeur public ... methode1 {...} public ... methode2 {...} public ... methode3 {...} etc. }
mais j'obtiens immédiatement le message d'erreur: ExtendedBignum.java:3: cannot resolve symbol symbol : constructor BigInteger () location: class java.math.BigInteger public class ExtendedBignum extends BigInteger { ^ 1 error
Que dois-je faire ?
Quand on ne définit pas de constructeur explicitement dans une classe, il en existe toujours un, implicite, qui se contente d'appler super(), c'est-à-dire le constructeur sans paramètre de la superclasse. La classe ExtendedBignum ne possède pas de constructeur explicite, donc elle possède le constructeur implicite
public ExtendedBignum() { super(); }
Cependant la classe java.math.BigInteger ne possède pas de constructeur sans paramètre, ce qui explique ceci :
cannot resolve symbol symbol : constructor BigInteger ()
Pour résoudre le problème, il suffit donc de définir un ou plusieur s constructeurs dans ExtendedBignum qui appellent explicitement les constructeurs de BigInteger.
--
Cordialement -- JC Sirot
vclassine
(Thomas Baruchel) wrote in message news:<4028f5ad$0$28159$...
Bonjour,
je voudrais ajouter des méthodes à java.math.BigInteger,
du coup, je tente l'extension suivante:
import java.math.BigInteger;
public class ExtendedBignum extends BigInteger { // pas de constructeur public ... methode1 {...} public ... methode2 {...} public ... methode3 {...} etc. }
mais j'obtiens immédiatement le message d'erreur: ExtendedBignum.java:3: cannot resolve symbol symbol : constructor BigInteger () location: class java.math.BigInteger public class ExtendedBignum extends BigInteger { ^ 1 error
Que dois-je faire ?
Si tu ne précise pas constructeur le compilo essaye avec celui par défaut ce qui revient à peu près à si tu avais écrit ça:
public class ExtendedBignum extends BigInteger { public ExtendedBignum() { super(); }
public ... methode1 {...} public ... methode2 {...} public ... methode3 {...} etc. }
Problème la ligne:
super();
est illegal car BigInteger ne définit pas (publiquement) de constructeur sans paramètre, d'où le message d'erreur.
Il faut que d'une manière où d'une autre tu définisse (au moins) un constructeur appelant un constructeur valide de la classe mère, si tu n'as pas l'intention de modifier les constructeurs offert par la classe BigInteger, le mieux est de tous les "reprendre" comme suit:
public class ExtendedBignum extends BigInteger { public ExtendedBignum(byte[] val) { super(val); }
public ExtendedBignum(int signum, byte[] magnitude) { super(signum, magnitude); }
public ExtendedBignum(int bitLength, int certainty, Random rnd) { super(bitLength, certainty, rnd); }
public ExtendedBignum(int numBits, Random rnd) { super(numBits, rnd); }
public ExtendedBignum(String val) { super(val); }
public ExtendedBignum(String val, int radix) { super(val, radix); }
public ... methode1 {...} public ... methode2 {...} public ... methode3 {...} etc. }
Voilà
thomas.baruchel@libertysurf.fr (Thomas Baruchel) wrote in message news:<4028f5ad$0$28159$626a14ce@news.free.fr>...
Bonjour,
je voudrais ajouter des méthodes à java.math.BigInteger,
du coup, je tente l'extension suivante:
import java.math.BigInteger;
public class ExtendedBignum extends BigInteger {
// pas de constructeur
public ... methode1 {...}
public ... methode2 {...}
public ... methode3 {...}
etc.
}
mais j'obtiens immédiatement le message d'erreur:
ExtendedBignum.java:3: cannot resolve symbol
symbol : constructor BigInteger ()
location: class java.math.BigInteger
public class ExtendedBignum extends BigInteger {
^
1 error
Que dois-je faire ?
Si tu ne précise pas constructeur le compilo essaye avec celui par
défaut ce qui revient à peu près à si tu avais écrit ça:
public class ExtendedBignum extends BigInteger {
public ExtendedBignum()
{
super();
}
public ... methode1 {...}
public ... methode2 {...}
public ... methode3 {...}
etc.
}
Problème la ligne:
super();
est illegal car BigInteger ne définit pas (publiquement) de
constructeur sans paramètre, d'où le message d'erreur.
Il faut que d'une manière où d'une autre tu définisse (au moins) un
constructeur appelant un constructeur valide de la classe mère, si tu
n'as pas l'intention de modifier les constructeurs offert par la
classe BigInteger, le mieux est de tous les "reprendre" comme suit:
public class ExtendedBignum extends BigInteger {
public ExtendedBignum(byte[] val)
{
super(val);
}
public ExtendedBignum(int signum, byte[] magnitude)
{
super(signum, magnitude);
}
public ExtendedBignum(int bitLength, int certainty, Random rnd)
{
super(bitLength, certainty, rnd);
}
public ExtendedBignum(int numBits, Random rnd)
{
super(numBits, rnd);
}
public ExtendedBignum(String val)
{
super(val);
}
public ExtendedBignum(String val, int radix)
{
super(val, radix);
}
public ... methode1 {...}
public ... methode2 {...}
public ... methode3 {...}
etc.
}
(Thomas Baruchel) wrote in message news:<4028f5ad$0$28159$...
Bonjour,
je voudrais ajouter des méthodes à java.math.BigInteger,
du coup, je tente l'extension suivante:
import java.math.BigInteger;
public class ExtendedBignum extends BigInteger { // pas de constructeur public ... methode1 {...} public ... methode2 {...} public ... methode3 {...} etc. }
mais j'obtiens immédiatement le message d'erreur: ExtendedBignum.java:3: cannot resolve symbol symbol : constructor BigInteger () location: class java.math.BigInteger public class ExtendedBignum extends BigInteger { ^ 1 error
Que dois-je faire ?
Si tu ne précise pas constructeur le compilo essaye avec celui par défaut ce qui revient à peu près à si tu avais écrit ça:
public class ExtendedBignum extends BigInteger { public ExtendedBignum() { super(); }
public ... methode1 {...} public ... methode2 {...} public ... methode3 {...} etc. }
Problème la ligne:
super();
est illegal car BigInteger ne définit pas (publiquement) de constructeur sans paramètre, d'où le message d'erreur.
Il faut que d'une manière où d'une autre tu définisse (au moins) un constructeur appelant un constructeur valide de la classe mère, si tu n'as pas l'intention de modifier les constructeurs offert par la classe BigInteger, le mieux est de tous les "reprendre" comme suit:
public class ExtendedBignum extends BigInteger { public ExtendedBignum(byte[] val) { super(val); }
public ExtendedBignum(int signum, byte[] magnitude) { super(signum, magnitude); }
public ExtendedBignum(int bitLength, int certainty, Random rnd) { super(bitLength, certainty, rnd); }
public ExtendedBignum(int numBits, Random rnd) { super(numBits, rnd); }
public ExtendedBignum(String val) { super(val); }
public ExtendedBignum(String val, int radix) { super(val, radix); }
public ... methode1 {...} public ... methode2 {...} public ... methode3 {...} etc. }