gpt4 book ai didi

java - 如何在没有另一个数组的情况下制作一个数组?

转载 作者:行者123 更新时间:2023-12-03 23:09:58 27 4
gpt4 key购买 nike

我正在尝试用两个数组编写代码。除了最小的数字外,第二个数组与第一个数组具有相同的值。我已经编写了一个代码,其中 z 是最小的数字。现在我只想制作一个没有 z 的新数组,我们将不胜感激任何反馈。

public static int Second_Tiny() {
int[] ar = {19, 1, 17, 17, -2};
int i;
int z = ar[0];

for (i = 1; i < ar.length; i++) {
if (z >ar[i]) {
z=ar[i];
}
}
}

最佳答案

Java 8 流具有可以实现您想要的功能的内置功能。<​​/p>

public static void main(String[] args) throws Exception {
int[] ar = {19, 1, 17, 17, -2, -2, -2, -2, 5};

// Find the smallest number
int min = Arrays.stream(ar)
.min()
.getAsInt();

// Make a new array without the smallest number
int[] newAr = Arrays
.stream(ar)
.filter(a -> a > min)
.toArray();

// Display the new array
System.out.println(Arrays.toString(newAr));
}

结果:

[19, 1, 17, 17, 5]

否则,你会看到类似这样的东西:

public static void main(String[] args) throws Exception {
int[] ar = {19, 1, 17, 17, -2, -2, -2, -2, 5};

// Find the smallest number
// Count how many times the min number appears
int min = ar[0];
int minCount = 0;
for (int a : ar) {
if (minCount == 0 || a < min) {
min = a;
minCount = 1;
} else if (a == min) {
minCount++;
}
}

// Make a new array without the smallest number
int[] newAr = new int[ar.length - minCount];
int newIndex = 0;
for (int a : ar) {
if (a != min) {
newAr[newIndex] = a;
newIndex++;
}
}

// Display the new array
System.out.println(Arrays.toString(newAr));
}

结果:

[19, 1, 17, 17, 5]

关于java - 如何在没有另一个数组的情况下制作一个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31665676/

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