我想创建一个接收数组和要比较的值的方法。它应该以数组的形式返回大于比较值的数字。
例如,greaterThan([3, 4, 5, 6], 4])
应返回 [5, 6]
和 greaterThan([3 , 4, 5, 6], 5])
应返回 [6]
。
由于 result
数组的 length
是动态的,因此每次找到更大的元素时我都会增加大小。
static String greaterThan(int[] vectorCompare, int valueCompare)
{
Arrays.sort(vectorCompare); // make it faster
int size = 0;
int[] result = new int[size];
for (int value : vectorCompare)
{
if (valueCompare < value)
{
size++;
}
}
int[] resultCopy = Arrays.copyOf(result, size);
// what to do next?
return Arrays.toString(resultCopy);
}
有什么建议可以给我吗?我想过使用 ArrayList 但我有点卡住了。
最佳答案
您不需要对其进行排序,只需收集列表中的元素并对内容调用 toString 即可。如果顺序很重要,您可以稍后对收集的值列表进行排序。
static String greaterThan(int[] vector, int compare) {
List<Integer> greater = new ArrayList<>();
for (int i : vector) {
if (i > compare) {
greater.add(i);
}
}
return greater.toString();
}
关于java - 更大元素的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56365628/