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

不能取消引用int

常自强
2023-03-14
问题内容

我开始使用Java(我正在学习微编辑),但在以下课程中收到此错误:“无法取消引用”:

class DCanvas extends Canvas{
    public DCanvas(){

    }

    public void drawString(String str, int x, int y, int r, int g, int b){
        g.setColor(r, g, b); //The error is here
        g.drawString(str, x, y, 0); //and here
    }

    public void paint(Graphics g){
        g.setColor(100, 100, 220);
        g.fillRect(0, 0, getWidth(), getHeight());
    }
}

我在这里做错了什么?好吧,我来自PHP和ECMAScripts,能够以这种方式传递函数自变量,因此我真的不理解该错误。


问题答案:

gdrawString是你已经通过色彩值,而不是你的Graphics参考。因此,错误是当您尝试在上调用方法int而无法执行时。

//            Passing an integer 'g' into the function here |
//                                                          V
public void drawString(String str, int x, int y, int r, int g, int b){
//  | This 'g' is the integer you passed in
//  V
    g.setColor(r, g, b);
    g.drawString(str, x, y, 0);
}


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

  • 问题内容: 问题是。 问题答案: 是某些Java编译器在您尝试在原语上调用方法时出现的错误。在我看来,这会有所帮助,但是我知道什么。 从你的代码,看来你认为你可以复制的文本表示将通过执行hours.setText(hoursminfield); 这有一些错误:1)hours是一个原始类型,没有可以调用的方法。这就是给您您所询问的错误的原因。2)您没有说hoursminfield是什么类型,也许您还

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

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

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

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