java中两个未定义的方法

java中两个未定义的方法,java,Java,不久前开始,我一直在做这个简单的缓存练习。我已经走了相当远(缓慢但肯定),但现在我真的不知道如何解决我的问题,也无法像以前一样通过谷歌搜索等方式找到任何解决方案。我还使用Eclipse以防需要说明的情况 “类型VC的方法clearMemory()未定义” “类型VC的方法setText(字符串)未定义” 我可能在搜索的时候就知道了,但我的知识非常有限,所以如果你能在教学方面给我解释一下,我将非常感激 import java.util.HashMap; public class Model {

不久前开始,我一直在做这个简单的缓存练习。我已经走了相当远(缓慢但肯定),但现在我真的不知道如何解决我的问题,也无法像以前一样通过谷歌搜索等方式找到任何解决方案。我还使用Eclipse以防需要说明的情况

“类型VC的方法clearMemory()未定义”

“类型VC的方法setText(字符串)未定义”

我可能在搜索的时候就知道了,但我的知识非常有限,所以如果你能在教学方面给我解释一下,我将非常感激

import java.util.HashMap;


public class Model {

    HashMap<Integer, Long> memory;


    public Model() {
        this.memory = new HashMap<Integer, Long>();
    }



    public void clearMemory() {
        this.memory.clear();
    }



    private long computePower (int power) {
        if (power == 0) {
            return 1L;          
        }       
        if (power == 1) {
            return 2L;
    }
        return 2L * computePower (power - 1);
}


    public long compute2Power(int power) {
        if (power < 0) {
            throw new IllegalArgumentException();
        }
        Long result = getValueFromMemory(Integer.valueOf(power));
        if (result != null) {
            return result.longValue();
        }
        result = Long.valueOf(computePower(power));
        addValueToMemory(Integer.valueOf(power), result);
        return result.longValue();
    }


    private void addValueToMemory(Integer value, Long result) {
        this.memory.put(value, result);
    }


    private Long getValueFromMemory(Integer value) {
        return (Long)this.memory.get(value);
    }






}
import java.util.HashMap;
公共类模型{
哈希映射存储器;
公共模型(){
this.memory=new HashMap();
}
公共空clearMemory(){
这个.memory.clear();
}
专用长计算机功率(整数功率){
如果(功率==0){
返回1L;
}       
如果(功率==1){
返回2L;
}
返回2L*计算功率(功率-1);
}
公共长计算机2功率(整数功率){
如果(功率<0){
抛出新的IllegalArgumentException();
}
长结果=getValueFromMemory(Integer.valueOf(power));
如果(结果!=null){
返回result.longValue();
}
结果=长数值(计算功率(功率));
addValueToMemory(整数、幂次、结果);
返回result.longValue();
}
私有void addValueToMemory(整数值,长结果){
this.memory.put(值、结果);
}
私有长getValueFromMemory(整数值){
返回(Long)this.memory.get(value);
}
}

您可能要呼叫:

model.clearMemory();
而不是:

VC.this.clearMemory();
因为
clearMemory
Model
类的一种方法


VC。这个.setText
应该是
output.setText

VC类中没有setText(String s)方法。但是,JLabel类中有一个。clearMemory()也是如此。它是类模型的实例方法,所以您应该创建一个模型实例,然后在该实例上调用它

VC.this.
你希望这篇文章引用什么?如果把代码缩小到相关部分,这个问题会更好。谢谢你的帮助,但我恐怕我需要进一步解释如何做到这一点,我才开始写这篇文章几周,所以我很难完全理解某些事情背后的含义。到目前为止,我对代码的了解也非常有限。通过将VC.this.setText更改为output.setText,修复了我的另一个问题
VC.this.clearMemory();