不能取消引用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会有所帮助,但是我知道什么。

从你的代码,看来你认为你可以复制的文本表示hourshoursminfield通过执行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 ,以便强制使用doubles而不是ints 进行除法。

以上是 不能取消引用Double吗? 的全部内容, 来源链接: utcz.com/qa/398346.html

回到顶部