2010-11-16 89 views
1

下面是我的代码为明星的构造,我传递了正确的价值观,但我不断收到一个找不到符号错误明星构造找不到方法的错误

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; 
} 

感谢俺们家伙..关于放弃......

回答

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

调用构造函数与new关键字,而不是与Class.Class(...)

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

这不是调用构造函数的方法。

你应该做一些事情

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

而不是

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

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

Star方法ISN” t一个公共静态类,所以你不能做Star.Star(如果可能的话)。