Java得到一个整数的绝对值,不使用任何判断和比较语句,包括API

  • Post author:
  • Post category:java



分享一下我老师大神的人工智能教程!零基础,通俗易懂!

http://blog.csdn.net/jiangjunshow


也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!


  1. /**

  2. * Java得到一个整数的绝对值,不使用任何判断和比较语句,包括API. <br>

  3. * 1、不得使用任何API,如Math.abs()等。<br>

  4. * 2、不得使用判断语句,如if、for、while、switch、?:等。<br>

  5. * 3、不得使用比较语句,如:==、 <=、>=、!=、 <、>等。 <br>

  6. *

  7. * @author JAVA世纪网(java2000.net, laozizhu.com)

  8. */

  9. public


    class

    Test {

  10. public


    static


    void

    main(String[] args) {

  11. for

    (

    int

    i = –

    5

    ; i <=

    5

    ; i++) {
  12. System.out.println(abs(i));
  13. }
  14. }

  15. public


    static


    int

    abs(

    int

    num) {

  16. return

    num * (

    1

    – ((num >>>

    31

    )<<

    1

    ));
  17. }
  18. }

/** * Java得到一个整数的绝对值,不使用任何判断和比较语句,包括API. <br> * 1、不得使用任何API,如Math.abs()等。<br> * 2、不得使用判断语句,如if、for、while、switch、?:等。<br> * 3、不得使用比较语句,如:==、 <=、>=、!=、 <、>等。 <br> *  * @author JAVA世纪网(java2000.net, laozizhu.com) */public class Test {  public static void main(String[] args) {    for (int i = -5; i <= 5; i++) {      System.out.println(abs(i));    }  }  public static int abs(int num) {    return num * (1 – ((num >>> 31)<<1));  }}

题目来自于论坛:


http://topic.csdn.net/u/20090906/00/ac08330f-0da6-4299-bf12-8545360d06ab.html


给我老师的人工智能教程打call!

http://blog.csdn.net/jiangjunshow

这里写图片描述



版权声明:本文为jgfyyfd原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。