gpt4 book ai didi

java - 从另一个类调用静态数组

转载 作者:行者123 更新时间:2023-11-30 03:45:31 24 4
gpt4 key购买 nike

我有两个程序。我创建一个静态数组和一些方法,如下所示:

public Someclass{
static int counter[] = new int[n];

//methods & main

}

n 被定义为某个数字,所以我知道它会有一定的长度。我稍后填充这个数组,并测试它是否被正确填充,所以我知道一些索引应该具有 0 以外的值。现在,当我尝试在第二个程序中调用它时,虽然我从未填充它,因为它只给出我是0。

  //second program 
public Someclass2{

public static main(String[] args){
String n = "someword"
int[] nums = new int[n.length]
for( int i = 0; i < n.length; i++){
nums[i] = nums[i] + (25 * SomeClass.counter[i]);
}
}

}

出于某种原因,当我在第二个程序中调用数组时,它返回全零并且不会更改 nums 的值,即使我知道计数器数组应该具有非零值。我认为这与我静态初始化它但我将它填充到本地方法和类中这一事实有关。所以从技术上来说它永远不会更新它的零。我在尝试解决此问题时遇到困难,如果有人可以提供帮助,我将不胜感激。

谢谢

最佳答案

我的猜测:您正在填充 SomeClass 内部的数组,但在其他类中使用该数组之前切勿调用该填充代码。解决办法:一定要先填满。如需更具体的帮助,请向我们展示有关您的代码的更多详细信息。

其他点——通常最好避免使用静态字段,而将数组设置为实例字段通常更好。然后,您可以通过其包含类确定其状态,还可以通过包含类更改其状态,并根据您希望对更改它的能力施加的任何限制。

关于java - 从另一个类调用静态数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25836227/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com