当前位置: 首页 > 面试题库 >

不能取消引用Double吗?

宗政洋
2023-03-14
问题内容
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


问题答案:

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 进行除法。



 类似资料:
  • 问题内容: 我开始使用Java(我正在学习微编辑),但在以下课程中收到此错误:“无法取消引用”: 我在这里做错了什么?好吧,我来自PHP和ECMAScripts,能够以这种方式传递函数自变量,因此我真的不理解该错误。 问题答案: 在中是你已经通过色彩值,而不是你的参考。因此,错误是当您尝试在上调用方法而无法执行时。

  • 问题内容: 在下面的代码中,我有int无法取消引用错误,这里//我有错误。我很困惑,因为变量b用于稍后在行中引用empl数组中的点,而没有显示为错误。那么,如何解决此问题,为什么会产生错误?我将不胜感激任何帮助。示例代码也很棒,因为这似乎是我学得最好的方法。谢谢! 编辑:欢迎按员工编号对数组进行排序的任何其他建议。 问题答案: 显然会传回。 是原始类型,而不是对象。 因此,您不能调用类似的方法。

  • 我对Java相当陌生,我使用的是BlueJ。当我试图编译时,我总是得到这个“Int不能被解引用”的错误,我不知道是什么问题。这个错误特别发生在我的if语句的底部,它说“equals”是一个错误,“int不能被解引用。”希望得到一些帮助,因为我不知道该怎么办。提前感谢!

  • 我在这里看到了一个如何使用比较器界面对 ArrayList 进行排序的示例,所以我尝试了一下。对于Strsing,它可以完美地工作,但是对于一个我想排序为整数的变量,它不会编译,说“int不能被取消引用”。 我能做什么才能使它工作并允许我按分数变量对ArrayList进行排序? 这是我的代码:

  • 嗨我有以下方法: 不得不提的是,startDate和endDate是长变量。我尝试在if条件中添加null检查,也尝试使用longValue()方法,但没有结果。你知道我怎样才能解决这个问题吗?可能是fndBugs端的bug?

  • 我正在做一些任务工作,我遇到了一个问题。 我收到了这个示例代码: 然而,当我尝试这样做时,会发生以下情况: 有什么想法吗?