gpt4 book ai didi

Java数组正在被重写:(

转载 作者:行者123 更新时间:2023-12-01 10:00:52 24 4
gpt4 key购买 nike

我的 java 项目有问题。我需要从数组中删除元素,这已经解决了。但问题是,即使它删除了该元素(我在调试中检查过),当我单击按钮时,据我所知,它基本上重写了数组,因此我删除该元素的事实根本不重要。有什么建议吗?

public class Words {

Random r = new Random();
public String[] poleSlov = {"a","b","c","d","e","f","g","h","i"};

public String chooseRandomWord() {
int tmp = r.nextInt(poleSlov.length);
String p = poleSlov[tmp];

String[] result = new String[poleSlov.length - 1];
for (int i = 0; i < result.length; i++) {
result[i] = poleSlov[((i < tmp) ? i : i + 1)];
}

poleSlov = result.clone();

return p;
}
}

private void btnNoveSlovoActionPerformed(java.awt.event.ActionEvent evt) {

Words s = new Words();
labSlovo.setText(s.chooseRandomWord());

}

最佳答案

btnNoveSlovoActionPerformed() 创建一个新的 Words 实例,具有新的 poleSlov 数组。由于s是局部变量,因此在btnNoveSlovoActionPerformed()返回后,它所引用的对象将不再可访问。

一种可能的解决方法是在当前实例上调用chooseRandomWord():

private void btnNoveSlovoActionPerformed(java.awt.event.ActionEvent evt)    
{
labSlovo.setText(chooseRandomWord());
}

关于Java数组正在被重写:(,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36824309/

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