1
所以这一直困扰着我一个半小时,它变得非常烦人。我不确定是什么问题,因为我已经多次重新检查过我的代码,我已经搜索了其他方法,或者如果我做错了某些事情,但仍然没有看到任何内容。阵列中的第二小号码 - 输出不正确
这是从我的代码的摘录:
// 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 + ".");
阵列[i]是来自用户的输入。开始时,程序会要求您输入您想输入的号码,然后继续输入。 我输入了五位数字,然后输入五位数字,但我的第二小数字与我的最小数字相同。有时我会得到一个正确的答案。 有什么建议吗?编辑: 在user3591111的帮助下工作。谢谢!
我不没有看到比较'最小'数字和'secondnum(second min)'的if语句 – 3kings