API,Math类

package com.itheima.a01mathdemo;

public class MathDemo1 {
    public static void main(String[] args) {
        /*
            public static int abs(int a) 获取参数绝对值
            public static double ceil(double a) 向上取整
            public static double floor(double a) 向下取整
            public static int round(float a) 四舍五入
            public static int max(int a,int b) 获取两个int值中的较大值
            public static double pow(double a,double b) 返回a的b次幂的值
            public static double random() 返回值为double的随机值,范围[0.0,1.0)
        */


        //abs 获取参数绝对值
        System.out.println(Math.abs(88));
        System.out.println(Math.abs(-88));


        //bug:
        //以int类型为例,取值范围: -2147483648~ 2147483647
        //如果没有正数与负数对应,那么传递负数结果有误
        //-2147483648 没有正数与之对应,所以abs结果产生bug
        //system.out.println(Math.abs(-2147483647));//2147483647
        //System.out.println(Math.absExact(-2147483648));

        //进一法,往数轴的正方向进一
        System.out.println(Math.ceil(12.34));//13.0
        System.out.println(Math.ceil(12.54));//13.0
        System.out.println(Math.ceil(-12.34));//-12.0
        System.out.println(Math.ceil(-12.54));//-12.0


        System.out.println("-------------------------------");


        //去尾法,
        System.out.println(Math.floor(12.34));//12.0
        System.out.println(Math.floor(12.54));//12.0
        System.out.println(Math.floor(-12.34));//-13.0
        System.out.println(Math.floor(-12.54));//-13.0
        System.out.println("-------------------------------");
        //四舍五入
        System.out.println(Math.round(12.34));//12
        System.out.println(Math.round(12.54));//13
        System.out.println(Math.round(-12.34));//-12
        System.out.println(Math.round(-12.54));//-13
        System.out.println("-------------------------------");
        //获取两个整数的较大值
        System.out.println(Math.max(20,30));//30
        //获取两个整数的较小值
        System.out.println(Math.min(20,30));//20
        System.out.println("-------------------------------");

        // 获取a的b次幂
        System.out.println(Math.pow(2,3));//8
        // 细节:
        //如果第二个参数 0~ 1之间的小数
        //system.out.println(Math.pow(4,0.5));//2.0
        //System.out.println(Math.pow(2,-2));//0.25
        //建议:
        //第二个参数:一般传递大于等于1的正整数。
        System.out.println(Math.sqrt(4));//2.0
        System.out.println(Math.cbrt(8));//2.0
        System.out.println("-------------------------------");
        for (int i = 0; i < 1; i++) {
            System.out.println(Math.floor(Math.random()*100)+1);
            //Math.random() [0.0 1.0)
            //* 100         [0.0 100.0)
            //floor         去掉了后面的小数
            //+1            [1 100.e]
        }
    }
}

判断质数的算法用ApI

package com.itheima.a01mathdemo;

public class MathDemo2 {
    public static void main(String[] args) {
        //判断一个数是否为一个质数
        System.out.println(isPrime(997));
        //997 2~996 995次
    }

    public static boolean isPrime(int number) {
        int count = 0;
        for (int i = 2; i <= Math.sqrt(number); i++) {
            count++;
            if (number % i == 0) {
                return false;
            }
        }
        System.out.println(count);
        return true;
    }
}

算法题2

package com.itheima.a01mathdemo;

public class MathDemo3 {
    public static void main(String[] args) {
        //要求1:统计一共有多少个水仙花数。
        //要求2:判断一下为什么没有两位自幂数。
        //要求3:统计一共有多少个四叶玫瑰数,五角星数

        //水仙花数:100 ~ 999
        int count = 0;
        //得到每一个三位数
        for (int i = 100; i <= 999; i++) {
            //个位 十位 百位
            int ge = i % 10;
            int shi = i / 10 % 10;
            int bai = i / 100 % 10;
            //判断:
            //每一位的三次方之和 跟本身 进行比较。
            double sum = Math.pow(ge, 3) + Math.pow(shi, 3) + Math.pow(bai, 3);
            if (sum == i) {
                count++;
                //System.out.println(i);

                System.out.println(count);
            }
        }
    }
}

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值