【问题标题】:Java Array, method cannot find symbolJava Array,方法找不到符号
【发布时间】:2018-07-21 05:42:18
【问题描述】:

我有类似的东西

//constructors

public IntBag()   {
  myBag = new Integer[500];
}

public boolean contains( int aNumber)   {
  if ( bag[aNumber] == null )
    return false;
  else
    return true;    }

public int size()   {
 int num;    
num= 0; //Number of filled slot    

for( int j = 0; j < myBag.length; j++) {   
 if ( myBag.contains(j) )
    num++;     }    
return num;    }

我收到一个错误 错误:找不到符号 符号:方法包含(int) 位置:java.lang.Integer[]类型的变量包

我该如何解决这个问题?

【问题讨论】:

  • 那个方法我已经写好了
  • bagIntegers 的数组。你可以使用Arrays.asList( bag ).contains( i )
  • 为什么它不能以这种方式工作
  • “为什么它不能以这种方式工作” - 因为数组没有称为contains的方法。
  • 是什么让你认为它应该这样做?

标签: java arrays oop methods


【解决方案1】:

如果您尝试使用您的方法,则不要在数组上调用它,而是将值传递给它

if ( contains(i) )

为清楚起见,您调用的是IntBag 实例的方法,而不是整数数组(没有包含方法)

你可以通过

实现同样的效果
if ( this.contains(i) )

注意:您需要在该方法中捕获越界异常

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-08
    • 2021-08-11
    • 1970-01-01
    • 1970-01-01
    • 2018-05-13
    • 2015-01-19
    相关资源
    最近更新 更多