gpt4 book ai didi

java - 查找数组中第二小的整数。返回第二小的整数的错误值

转载 作者:行者123 更新时间:2023-12-02 12:19:54 25 4
gpt4 key购买 nike

我需要使用java在数组中找到第二小的数字。我有以下代码。它有点工作,但由于某种原因,它不会再次完全遍历数组来找到第二个最小值。它在第三个索引处停止并返回该值。正如您所看到的,第二个最小值位于索引 14。任何帮助将不胜感激。谢谢。

//Java程序查找数组中第一个和第二小的数字

public class FindSmallest2 
{
public static void main(String[] args)
{
int[] values;
values = new int[15];
values[0]=341;
values[1]=273;
values[2]=278;
values[3]=329;
values[4]=445;
values[5]=275;
values[6]=275;
values[7]=243;
values[8]=334;
values[9]=412;
values[10]=393;
values[11]=299;
values[12]=343;
values[13]=317;
values[14]=265;
int small1, small2;
small1 = small2 = values[0];
for(int i = 1; i < values.length; i++)
{
if(values[i]<small1)
{
small2 = small1;
small1 = values[i];
}
}
System.out.println("1st smallest value: "+small1);
System.out.println("2nd smallest value: "+small2);
}
}

最佳答案

您没有考虑到测试数字 values[i] 不是最小的数字,但它小于当前第二小的数字的情况。

这是一个可能的修复:

if (values[i]<small1) {
small2 = small1;
small1 = values[i];
} else if (values[i]<small2) {
small2 = values[i];
}

关于java - 查找数组中第二小的整数。返回第二小的整数的错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27422173/

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