import java.util.*;
class Solution
{
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int c=5526;
int inp;
for(int a=0;a<n;a )
{
inp=sc.nextInt();
if(Math.abs(inp)<c)
{
c=inp;
}
}
System.out.print(c);
}
}
輸入:

錯誤:

我知道問題是什么,我無法嘗試任何東西,因為我知道錯誤在哪里。
uj5u.com熱心網友回復:
我們要顯示最接近 的溫度0,即絕對值最小的溫度。提供的代碼已經很接近了。這一行只有一個小錯誤:
if (Math.abs(inp) < c)
我們將 的絕對值inp與 的值進行比較c。查看 的主體if,我們看到c設定為 的值inp。的值inp可以為負,因此c可以為負。回到 - 條件if:一旦為c負,Math.abs(inp) < c將始終評估為false。因此,我們還必須c在條件中取絕對值:
if (Math.abs(inp) < Math.abs(c))
Ideone demo
這將產生預期的輸出。
uj5u.com熱心網友回復:
這個問題沒有正確提出,但無論如何,我會盡量根據我的最佳理解來回答。所以問題是當您運行程式時,您以錯誤的方式輸入輸入,例如您輸入將要比較的溫度數量,然后一個接一個地添加溫度,在這種情況下它不被接受為有效數字相反,它應該跟在 Enter 之后。此外,您的代碼沒有產生正確的結果,您有邏輯錯誤。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/387437.html
