gpt4 book ai didi

java - 在不使用 ArrayList 的情况下声明一个大小未知的数组

转载 作者:搜寻专家 更新时间:2023-11-01 01:31:45 27 4
gpt4 key购买 nike

有没有办法声明一个长度未知的数组?我的问题是从一系列数字中返回奇数的 int[]。我当前的输出是添加 0 来填充数组的剩余空间。

public class Practice {

static int[] oddNumbers(int minimum, int maximum) {

int[] arr = new int[10];
int x = 0;
int count = 0;

for(int i = minimum; i <= maximum; i++){
if(i % 2 != 0){
arr[x] = i;
++x;
}
}
return arr;
}

public static void main(String[] args) {
int min = 3, max = 9;
System.out.println(Arrays.toString(oddNumbers(min, max)));
}
}

我当前的输出是 [3,5,7,9,0,0,0,0,0,0] 但我希望它是 3,5,7,9它必须是数组而不是 ArrayList。这可能吗?还是有完全不同的方法?

最佳答案

好吧,在您的用例中,您确切地知道需要多少个数字。查看如何根据最小值和最大值查找两个数字之间的奇数个数。然后分配那么多:

int closestMin = minimum % 2 == 0 ? minimum + 1 : minimum;
int closestMax = maximum % 2 == 0 ? maximum - 1 : maximum;
int numberOfOdds = ((closestMax - closestMin) / 2) + 1;
int[] arr = new int[numberOfOdds];
....

关于java - 在不使用 ArrayList 的情况下声明一个大小未知的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45645173/

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