不能取消引用Double吗?
String mins = minsField.getText(); int Mins;
try
{
Mins = Integer.parseInt(mins);
}
catch (NumberFormatException e)
{
Mins = 0;
}
double hours = Mins / 60;
hours.setText(hoursminsfield);
问题是Double cannot be dereferenced
。
回答:
编辑4/23/12
double cannot be dereferenced
是某些Java编译器在您尝试在原语上调用方法时出现的错误。在我看来,这double has
no such method会有所帮助,但是我知道什么。
从你的代码,看来你认为你可以复制的文本表示hours
将hoursminfield
通过执行hours.setText(hoursminfield);
这有一些错误:1)hours是一个double
原始类型,没有可以调用的方法。这就是给您您所询问的错误的原因。2)您没有说hoursminfield是什么类型,也许您还没有声明它。3)通过将变量的值作为方法的参数来设置变量的值是不寻常的。它有时发生,但不经常发生。
执行您似乎想要的代码行是:
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);
原始答案(解决了代码中的另一个问题):
在double hours = Mins / 60;
您除以二int
。您将获得该int
除法的值,因此,如果Mins = 43;双小时=分钟/
60; // Mins / 60是一个int =0。将其分配给double hours使// hours double等于零。
您需要做的是:
double hours = Mins / ((double) 60);
或类似的东西,您需要将除法的某些部分double
强制转换为a ,以便强制使用double
s而不是int
s 进行除法。
以上是 不能取消引用Double吗? 的全部内容, 来源链接: utcz.com/qa/398346.html