Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 数组中第二小的数字-输出不正确_Java_Arrays_Integer - Fatal编程技术网

Java 数组中第二小的数字-输出不正确

Java 数组中第二小的数字-输出不正确,java,arrays,integer,Java,Arrays,Integer,这已经困扰了我一个半小时了,真的很烦人。我不确定问题出在哪里,因为我已经反复检查了好几次我的代码,我用谷歌搜索了其他方法,或者我做错了什么,但还是什么也没看到 这是我的代码摘录: // MAX AND MIN NUMBER int maxnum = array[0]; int minnum = array[0]; for (int i = 0; i < array.length; i++) { if (array[i] > maxnum

这已经困扰了我一个半小时了,真的很烦人。我不确定问题出在哪里,因为我已经反复检查了好几次我的代码,我用谷歌搜索了其他方法,或者我做错了什么,但还是什么也没看到

这是我的代码摘录:

    // MAX AND MIN NUMBER
    int maxnum = array[0];
    int minnum = array[0];
    for (int i = 0; i < array.length; i++) {
        if (array[i] > maxnum) {
            maxnum = array[i];
        } else if (array[i] < minnum) {
            minnum = array[i];
        }
    }
    System.out.println("Maximum number is " + maxnum + ", minimum is " + minnum + ".");
    // --------------------------------------------------------------------------------
    // SECOND SMALLEST NUMBER
    int secondnum = array[0];
    for (int i = 0; i < array.length; i++) {
        if (array[i] == minnum) {
            secondnum = minnum;
        } else if (array[i] < minnum) {
            secondnum = minnum;
            minnum = array[i];
        } else if (array[i] < secondnum) {
            secondnum = array[i];
        }

    }
    System.out.println("Second smallest number is " + secondnum + ".");
//最大和最小编号
int maxnum=数组[0];
int minnum=数组[0];
for(int i=0;imaxnum){
maxnum=数组[i];
}else if(数组[i]
数组[i]是来自用户的输入。在开始时,程序要求您输入您希望输入的数字,然后继续输入。 我输入五,然后输入五个数字,但我的第二小数字与我的最小数字相同。有时我会得到正确的答案。 有什么想法吗

编辑:
在用户3591111的帮助下工作。谢谢

在第一个for中,您可以从i=1开始,在第二个for中尝试

int secondnum = maxnum;
for (int i = 0; i < array.length; i++) {
    if (array[i] != minnum && array[i] <secondnum  ) 
       secondnum = array[i];

}
int secondnum=maxnum;
for(int i=0;i如果(array[i]!=minnum&&array[i]在第一个for中,您可以在第二个for中的i=1中开始尝试

int secondnum = maxnum;
for (int i = 0; i < array.length; i++) {
    if (array[i] != minnum && array[i] <secondnum  ) 
       secondnum = array[i];

}
int secondnum=maxnum;
for(int i=0;iif(array[i]!=minnum&&array[i]我没有看到任何
if
语句将
minimum
数字与
secondnum(secondmin)
进行比较
我没有看到任何
if
语句将
minimum
数字与
secondnum(secondmin)