2010-11-16 17 views
1

ci-dessous est mon code pour le constructeur Star, je passe les valeurs correctes, mais je continue à obtenir un ne peut pas trouver erreur de symbole pour le constructeur étoilesImpossible de trouver l'erreur de la méthode

private Star[] star; 
st = db.readLineFromDB(); 
ST = new StringTokenizer(st , ","); 
star[count] = Star.Star(Double.valueOf(ST.nextToken()),Double.valueOf(ST.nextToken()),ST.nextToken(),Integer.valueOf(ST.nextToken()),ST.nextToken()); 
count++; 

public Star(double logdist, double vmag, String sp_class, int ID, String name) 
{ 
this.logdist = logdist; 
this.vmag = vmag; 
this.sp_class = sp_class; 
this.ID = ID; 
this.name = name; 
} 

Merci les gars pour les ans .. . sur le point de renoncer ...

Répondre

1
star[count] = new Star(...); 

Vous invoquez les constructeurs avec le mot-clé new, pas avec Class.Class(...).

1
Star.Star(Double.valueOf(ST.nextToken()),Double.valueOf(ST.nextToken()),ST.nextToken(),Integer.valueOf(ST.nextToken()),ST.nextToken()); 

Ce n'est pas la manière d'appeler le constructeur.

vous devriez faire quelque chose

Star starObj = new Star(Double.valueOf(ST.nextToken()),Double.valueOf(ST.nextToken()),ST.nextToken(),Integer.valueOf(ST.nextToken()),ST.nextToken()); 

Have a detail look at this tutorial

1

Au lieu de

star[count] = Star.Star(Double.valueOf(ST.nextToken()),Double.valueOf(ST.nextToken()),ST.nextToken(),Integer.valueOf(ST.nextToken()),ST.nextToken()); 

do

star[count] = new Star(Double.valueOf(ST.nextToken()),Double.valueOf(ST.nextToken()),ST.nextToken(),Integer.valueOf(ST.nextToken()),ST.nextToken()); 

La méthode Star ISN » t une classe statique publique de sorte que vous ne pouvez pas faire Star.Star (si c'est possible).