給定三個ints,abc,如果b或c中的一個是「close」(與a最多不等於1),而另一個是「far」,則返回true,不同於其他值爲2或更多。注意:Math.abs(num)計算數字的絕對值。試圖解決「近距離」練習
closeFar(1, 2, 10) → true
closeFar(1, 2, 3) → false
closeFar(4, 1, 3) → true
給定三個ints,abc,如果b或c中的一個是「close」(與a最多不等於1),而另一個是「far」,則返回true,不同於其他值爲2或更多。注意:Math.abs(num)計算數字的絕對值。試圖解決「近距離」練習
closeFar(1, 2, 10) → true
closeFar(1, 2, 3) → false
closeFar(4, 1, 3) → true
你基本上需要用B和C(using Math.abs(a-b)
和using Math.abs(a-c)
)和來比較,然後檢查其他值至少2。事情是這樣的不同:
public static boolean closeFar(int a, int b, int c) {
return ((Math.abs(a-b) == 1 && (Math.abs(a-c) >= 2 && Math.abs(b-c) >= 2) ||
(Math.abs(a-c) == 1 && (Math.abs(a-b) >= 2 && Math.abs(b-c) >= 2)))
);
}
測試用例:
System.out.println(closeFar(1,2,10)); //prints true
System.out.println(closeFar(1,2,3)); //prints false
System.out.println(closeFar(4,1,3)); //prints true
非常感謝,它工作! –
當然,但技術上我不能upvote –
到目前爲止您嘗試了哪些代碼? SO不是代碼寫入服務 –
請閱讀[如何提出問題](http://stackoverflow.com/help/how-to-ask)上的頁面,並顯示你實際上試圖解決通過包括一個[最小,完整和可驗證的示例](http://stackoverflow.com/help/mcve)自己的問題。 –