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