编辑 2012年4月23日
double cannot be dereferenced
是一些 Java 编译器在您尝试在基元上调用方法时给出的错误。在我看来,这会更有帮助,但我知道什么。double has no such method
从你的代码中,似乎你认为你可以通过做hourtime.setText(hoursminfield)将 的文本表示形式复制到中;这有几个错误:1)小时是一个基元类型,没有方法可以调用它。这就是您所询问的错误。2)你没有说小时明田是什么类型,也许你甚至还没有宣布它。3)通过将变量作为方法的参数来设置变量的值是不寻常的。它有时会发生,但通常不会发生。hours
hoursminfield
double
执行您似乎想要的代码行是:
String hoursrminfield; // you better declare any variable you are using
// wrap hours in a Double, then use toString() on that Double
hoursminfield = Double.valueOf(hours).toString();
// or else a different way to wrap in a double using the Double constructor:
(new Double(hours)).toString();
// or else use the very helpful valueOf() method from the class String which will
// create a string version of any primitive type:
hoursminfield = String.valueOf(hours);
原始答案(解决了代码中的其他问题):
在你身上,你被分成两个s。你会得到这个除法的值,所以如果Mins = 43;双倍小时 = 分钟 / 60;Mins / 60 是 int = 0。将其分配为双小时会使 // 小时为等于零的双倍。double hours = Mins / 60;
int
int
您需要做的是:
double hours = Mins / ((double) 60);
或类似的东西,你需要把你的师的某个部分扔给a,以迫使师以s而不是s来完成。double
double
int