2011-03-25 5 views
0

J'ai cette classe:Java-Constructors des classes

Quand je suis en train de définir une nouvelle Instense:

Point nir= new Point(double x, double y); 

Je suis, obtenir l'erreur:

marqueurs multiples à cette ligne - x ne peut être résolu à une variables - y ne peut pas être résolu à une variable

Comment ça se fait? Je veux que x et y soient généraux, pas spécifiques. Je l'écris dans une nouvelle interface. This is the class

EDIT:

Je suis en train de changer l'outil de x0, y0 comme point par la classe de points Dans une inter-face donnée appelée "Cercle".

donc c'est le début du cercle et là, je veux faire ce qui précède:

public class Circle { 

private double x0, y0, radius; 

Ainsi, besicaly pour changer la représentation de x0, y0 à la structure du point.

+2

pouvez-vous montrer le code, pas javadoc? – Neal

+2

Pouvez-vous poster le code réel qui donne l'erreur. –

+1

S'il vous plaît nous montrer plus de code pertinent –

Répondre

6

L'erreur que vous obtenez est que ce code

new Point(double x, double y); 

est pas Java juridique. Lorsque vous créez un objet ou appelez une fonction, vous ne spécifiez pas les types d'arguments. Au lieu de cela, vous fournissez simplement une valeur de ce type. Ainsi, par exemple, vous pouvez créer un point en écrivant

Point origin = new Point(0.0, 0.0); 

Ou

double x = 137.0; 
double y = 2.71828; 
Point myPoint = new Point(x, y); 

Parce que dans les deux cas, le compilateur connaît déjà les types des expressions que vous fournissez comme arguments du constructeur. Vous n'avez pas besoin de dire (et en fait ne devrait pas) que ce sont des doubles.

Espérons que cela aide!

0

Essayez ceci:

Point nir= new Point(x, y); 

Si cela ne fonctionne pas, montrer plus de code.

0

Vous devez créer l'instance comme ceci:

Point nir = new Point(x, y); 

Ou comme si:

Point nir = new Point(15.0, 12.0); 

où x et y sont doubles. Vous obtenez une erreur car vous ne pouvez pas spécifier le type d'arguments lors de l'appel d'un constructeur. Par conséquent, Point nir = new Point(double x, double y); provoque une erreur.

0

x et y doivent déjà:

donc faire:

Point nir = new Point(x, y); 
0

Vous essayez de définir les paramètres lorsqu'il attend des arguments. Essayez:

Point nir= new Point(x, y); 

Ou:

Point nir= new Point((double) x, (double) y);