gpt4 book ai didi

java - 如何预先声明一个数组?

转载 作者:行者123 更新时间:2023-12-01 18:35:31 27 4
gpt4 key购买 nike

我不知道这是否可能,但我正在尝试制作一个带有下拉列表的 JPanel。其中一个参数采用一组选项,因此我必须使用数组,而不是列表。

我现在正在做这个:

        //if they have enough gold to buy 5
if(totalGold >= 25){
Object[] possibilities = {1, 2, 3, 4, 5};
}
//if they have between 20 and 24 gold
else if(totalGold >= 20 && totalGold < 25){
Object[] possibilities = {1, 2, 3, 4};
}
//if Player has between 15 and 19 gold
else if(totalGold >=15 && totalGold < 19){
Object[] possibilities = {1, 2, 3};
}
//if Player has between 10 and 14 gold
else if(totalGold >= 10 && totalGold <14){
Object[] possibilities = {1, 2};
}
//if Player has between 5 and 9 gold
else if(totalGold >= 5 && totalGold < 9){
Object[] possibilities = {1};
}

不幸的是,possibility 变量超出了范围,我无法使用该变量。我希望能够这样说:

Object[] possibilities;

然后定义数组是什么,但我似乎无法做到这一点。

有没有办法能够根据totalGold的值更改可能性数组包含的内容?

谢谢!

最佳答案

注意 totalGold 之间的模式和数组大小。大小与 totalGold % 5 相同对于 totalGold <= 24 ,而对于任何更大的值,大小仅为 5

您可以利用它:

int arraySize = Math.min(totalGold % 5, 5);

// Why Object[]?
int[] possibilities = new int[arraySize];

for (int i = 0; i < arraySize; i++) {
possibilities[i] = i + 1;
}

这是有效的,因为数组中的值是按从 1 开始的顺序排列的。 .

关于java - 如何预先声明一个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22204645/

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