Java常用API_Math——常用方法和综合小练习

本文介绍了Java中Math类的基本用法,包括绝对值、向上取整、向下取整、四舍五入等,并展示了如何使用Math.pow计算幂,以及如何实现自幂数的查询功能。文章以实际代码和运行结果为例,详细讲解了相关技术应用。
摘要由CSDN通过智能技术生成

常用方法(注释已标注):

public class Test {
    public static void main(String[] args) {

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

        //获取绝对值(超出int范围二十一亿多会报错)
        System.out.println(Math.absExact(1));

        //向上取整
        System.out.println(Math.ceil(1.1));

        //向下取整
        System.out.println(Math.floor(1.1));

        //四舍五入
        System.out.println(Math.round(1.3));
        System.out.println(Math.round(1.8));

        //获取最大值
        System.out.println(Math.max(10, 20));

        //获取最小值
        System.out.println(Math.min(10, 20));

        //获取a的b次幂
        System.out.println(Math.pow(2, 3));

        //开平方根
        System.out.println(Math.sqrt(64));

        //开立方根
        System.out.println(Math.cbrt(64));

        //获取[0.0, 1.0)之间的随机数
        System.out.println(Math.random());

    }
}

运行结果:

综合小练习:

自幂数:一个n位自然数等于自身各个数位上数字的n次幂之和,例如:
三位数:1^3 + 5^3 + 3^3 = 153      四位数:1^4 + 6^4 + 3^4 + 4^4 = 1634

要求:键盘输入要查询几位数中的自幂数个数,程序即输出结果。
例如:输入3,则会输出100~999的三位数中自幂数的个数

完整代码:
import java.util.ArrayList;
import java.util.Scanner;


public class Test1 {
    public static void main(String[] args) {
        //键盘录入
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要查询几位数的自幂数个数:");
        double digit = sc.nextInt();

        //定义一个集合存储自幂数
        ArrayList<Integer> list = new ArrayList<>();
        //定义一个变量存储自幂数个数
        int count = 0;
        for(double i = Math.pow(10, digit - 1); i <= Math.pow(10, digit) - 1; i++) {
            //临时变量存储i的值
            double temp = i;
            //定义一个变量存储次幂的和
            double sum = 0;
            //分别获取每一位数并次幂运算后求和
            for (int j = 0; j < digit; j++) {
                double last = temp % 10;
                sum = sum + Math.pow(last, digit);
                temp = Math.floor(temp / 10);
            }
            //如果是自幂数就count++,并添加到集合里
            if(sum == i) {
                count++;
                list.add((int)i);
            }
        }

        //输出结果,并打印出所有自幂数
        System.out.println("自幂数有:" + count + "个,分别为:");
        for (int i = 0; i < list.size(); i++) {
            if (i != list.size() - 1) {
                System.out.print(list.get(i) + ", ");
            } else {
                System.out.print(list.get(i));
            }
        }
    }
}
运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值