gpt4 book ai didi

java - Double 不能取消引用?

转载 作者:搜寻专家 更新时间:2023-10-30 21:46:12 24 4
gpt4 key购买 nike

String mins = minsField.getText(); 

int Mins;
try
{
Mins = Integer.parseInt(mins);

}
catch (NumberFormatException e)
{
Mins = 0;
}

double hours = Mins / 60;

hours.setText(hoursminsfield);

问题是 Double 不能取消引用

最佳答案

编辑 2012 年 4 月 23 日

double cannot be dereferenced 是一些 Java 编译器在您尝试调用原语上的方法时给出的错误。在我看来 double 没有这样的方法 会更有帮助,但我知道什么。

从你的代码来看,你似乎认为你可以将 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 值,因此如果 分钟 = 43; 双小时 = 分钟/60; //Mins/60 是一个 int = 0。将它分配给双小时使得 //小时数为零。

你需要做的是:

double hours = Mins / ((double) 60);

或类似的东西,您需要将除法的某些部分转换为 double 以强制使用 double 而不是 来完成除法>ints.

关于java - Double 不能取消引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10273949/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com