当前位置: 首页 > 知识库问答 >
问题:

无法调用数组类型int的方法[]

隆谦
2023-03-14

我有这样一个班级:

public class Something {

private int foo;
private int bar;
private int [] array = new int [16];

public Something()
    {
    foo = 0;
    bar = 0;
    for (int i =0; i < array.length; i++)
        {
        array[i] = 0;   
        }
    }

我想将数组迭代分解为一个单独的方法,以便在整个程序中重复使用或重新调用它,如下所示:

public void arrayItteration(){
    for (int i =0; i < array.length; i++)
    {
        array[i] = 0;   
    }
}

然后我想在我的公共方法中调用它,例如:

public Something()
    {
    foo = 0;
    bar = 0;
    int [] arrayOp = array.arrayItteration();
    }

我在这里尝试了解决方案:无法通过添加this对数组类型int[]调用我的方法但它仍然不工作。我有所有可用变量的setter和getter。我相信有一个简单的解决办法,但请让我知道,如果有办法绕过它。

谢谢你

共有1个答案

章松
2023-03-14

你在这里混合了一些错误的东西:

  1. 在常规int[]-array上调用自定义方法arrayIteration
  2. 尝试将void返回值赋给任何东西
  3. 您不必要地尝试获取对某个类成员的引用

最简单的修复:

  1. 只需调用方法
  2. 不指定返回值
  3. 不要引入新的局部变量

这产生:

public Something() {
    foo = 0;
    bar = 0;
    arrayItteration();
}
 类似资料:
  • 我目前正在学习如何使用遗传算法。然而,我在使用我的方法时遇到了困难。这种方法应该比较两个人之间的适应值。我一直试图调用我的

  • 我一直在尝试移植一段JavaScript代码,现在,我唯一尚未开始工作的部分出现了此错误:无法在原始类型int上调用padLz(int)。原始JavaScript代码在下面,同样是我的移植版本,我还无法工作的部分还突出显示。 错误: 无法在基元类型 int 上调用 padLz(int) 原件 移植版本 string grid ref = let pair ' ' e . padlz(digits/

  • 我正在实现我自己的泛型链表类,它有一个名为的实例方法,该方法生成链表的数组副本并返回它。然而,每当我试图在实例上调用该方法时,我总是得到错误消息“sllist.this cannot be referenced from a static context”。我搜索了一下,有些人说这是因为我没有在实例上调用那个方法,但我确实调用了。 下面是类: 它有一些方法,如,它们都没有问题。 是我不断收到错误消

  • 我是斯威夫特的新人,现在尽我所能地学习这个。我写了得到参数的函数:数字和函数,它们与这个数字一起工作: 但是编译给出错误。当我试图改变论点时,比如

  • 为什么我不能在数组类型上调用? ENUM:

  • 我对弗利特和我是新手;我一直在尝试开发一款带有PHP API后端的应用程序。在无数的答案和在线研究中,我无法找到解决我所面临问题的方法。我希望有人能告诉我我做错了什么。 我试图从API中获取数据,并将其显示在卡中。下面是我的代码: 希望能得到一些帮助。非常感谢。