【Java】不使用比较运算符构造max()和min()
生活随笔
收集整理的這篇文章主要介紹了
【Java】不使用比较运算符构造max()和min()
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目要求
不直接使用比較運(yùn)算符:>、<、>=、<=、==、!= ,不使用內(nèi)置函數(shù)Math.max()、Math.min(),自己構(gòu)造求解求解最大值和最小值的函數(shù)。
分析
證明如下:
據(jù)上圖證明的式子,就可以構(gòu)造出所需要的max()和min()了呢。
Java編程實(shí)現(xiàn)
import java.util.Scanner;public class MaxAndMin {private static int max (int a, int b) {return (a+b+Math.abs(a-b))/2;}private static int min (int a, int b) {return (a+b-Math.abs(a-b))/2;}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int a = scanner.nextInt(), b = scanner.nextInt();System.out.println(a +"和" + b + "的最大值是:" + max(a, b));System.out.println(a +"和" + b + "的最小值是:" + min(a, b));scanner.close();}}測試舉例
java.lang.Math的做法
很簡單啦,就沒上面這么繞了……
max():
@HotSpotIntrinsicCandidate public static int max(int a, int b) {return a >= b ? a : b; }min():
@HotSpotIntrinsicCandidate public static int min(int a, int b) {return a <= b ? a : b; }總結(jié)
以上是生活随笔為你收集整理的【Java】不使用比较运算符构造max()和min()的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 打印多项式的那些坑(洛谷P1067题题解
- 下一篇: 【数据结构与算法】数据结构与算法最基础理