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