Java 面向对象练习题 代码实现及详解(二)

/*

2.努力只能及格,拼命才能优秀

*/

练习题二:

声明一个数学计算工具类MathTools,包含如下方法:

1、int add(int a, int b):求a+b

2、int subtract(int a,int b):求a-b

3、int mutiply(int a, int b):求a*b

4、int divide(int a, int b):求a/b

5、int remainder(int a, int b):求a%b

6、int max(int a, int b):求a和b中的最大值

7、int min(int a, int b):求a和b中的最小值

8、boolean equals(int a, int b):判断a和b是否相等

9、boolean isEven(int a):判断a是否是偶数

10、boolean isPrimeNumer(int a):判断a是否是素数

11、int round(double d):返回d的四舍五入后的整数值

接下来就是分步讲解

目录

一、实现类外数据访问、修问

二、求a+b、a-b、a*b、a/b、a%b

三、求 a和b间的最大值、最小值

四、判断ab是否相等、a是否是偶数

五、判断a是否是素数

六、求d四舍五入后的整数

七、编写测试类


一、实现类外数据访问、修问

(一)变量ab为int整型,实现正常整数运算

(二)变量d为double双精度型(需要四舍五入的数肯定不能是整数)

    private int a,b;
    private double d;

    public MathTools(int a, int b) {
        this.a = a;
        this.b = b;
    }

    public MathTools(double d) {
        this.d = d;
    }

二、求a+b、a-b、a*b、a/b、a%b

(一)新建变量c存储我们 +  -  *  /  %后的数据结果

(二)return c    直接返回c所存储的数据

    //1、int add(int a, int b):求a+b
    public  int add(int a ,int b){
        int c=a+b;
        return c;
    }

        //2、int subtract(int a,int b):求a-b
    public int subtract(int a,int b){
        int c=a-b;
        return c;
}

//3、int mutiply(int a, int b):求a*b
    public int mutiply(int a,int b){
        int c= a*b ;
        return c;
    }
//4、int divide(int a, int b):求a/b
public int divide(int a,int b){
    int c=a / b  ;
    return c;
}

//5、int remainder(int a, int b):求a%b
public int remainder(int a,int b){
    int c= a%b ;
    return c;
}

三、求 a和b间的最大值、最小值

(一)新建变量c存储我们比较a、b的大小后的数据结果

(二)Math.max/min()函数

        Math.max(比较值1,比较值2)      Math.min()同理

(三)return c    直接返回c所存储的数据

//6、int max(int a, int b):求a和b中的最大值
public int max(int a,int b){
    int c= Math.max(a,b) ;
    return c;
}

//7、int min(int a, int b):求a和b中的最小值
public int min(int a,int b){
    int c=  Math.min(a,b);
    return c;
}

四、判断ab是否相等、a是否是偶数

(一)如果a=b即输出true,反之false

(二)a/2的余是否等于0,等于即输出true,反之false

//8、boolean equals(int a, int b):判断a和b是否相等
public boolean equals(int a,int b){
    if (a==b){
        return true;
    }else {
        return false;
    }
}

//9、boolean isEven(int a):判断a是否是偶数
    public boolean isEven(int a){
        if (a%2==0){
            return true;
        }else {
            return false;
        }
    }

五、判断a是否是素数

(一)素数定义及详细求法可参考我往期文章

直通车:100以内素数最简单求法

//10、boolean isPrimeNumer(int a):判断a是否是素数
    public boolean isPrimeNumer(int a){
        int i =0;
        for (i = 2; i < a; i++) {
            if (a%i==0){
                return false;
            }
        }
        if (i==a){
            return true;
        }else {
            return false;
        }

六、求d四舍五入后的整数

(一)详细四舍五入教程我没有写过,详细请阅大佬的详细教学:Java向上/向下/四舍五入取整

(二)因为我们输入的d是double型带小数的值,所以在转换时需转换为需要的整型int:

        int c=(int) Math.ceil(d);

(三)运算结束及输出返回值c

//11、int round(double d):返回d的四舍五入后的整数值
    public int round(double d){
        int c=(int) Math.ceil(d);
        return c;
    }

七、编写测试类

(一)测试类就不过多解释了

(二)有一点要说明一下,d的初始值是double类型的,运算时记得改为int整型

测试类两种写法

1.

import java.util.Scanner;
public class MathToolsCS {
    public static void main(String[] args) {

        System.out.println("请输入a:");
        int a=new Scanner(System.in).nextInt();
        System.out.println("请输入b:");
        int b=new Scanner(System.in).nextInt();
        MathTools cs=  new MathTools(a,b);
        System.out.println("a+b="+cs.add(a,b));
        System.out.println("a-b="+cs.subtract(a,b));
        System.out.println("a*b="+cs.mutiply(a,b));
        System.out.println("a/b="+cs.divide(a,b));
        System.out.println("a%b="+cs.remainder(a,b));
        System.out.println("a和b中的最大值:"+cs.max(a,b));
        System.out.println("a和b中的最小值:"+cs.min(a,b));
        System.out.println("a是否等于b:  "+cs.equals(a,b));
        System.out.println("a是否是偶数:  "+cs.isEven(a));
        System.out.println("a是否是素数:"+cs.isPrimeNumer(a));
        System.out.println("请输入d:");
        double d=new Scanner(System.in).nextDouble();
        System.out.println("d四舍五入后的数:"+cs.round(d));
    }
}

2.

import java.util.Scanner;

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

        System.out.println("请输入a:");
        int a=new Scanner(System.in).nextInt();
        System.out.println("请输入b:");
        int b=new Scanner(System.in).nextInt();
        MathTools cs=  new MathTools(a,b);
        System.out.println(a+"+"+b+"="+cs.add(a,b));
        System.out.println(a+"-"+b+"="+cs.subtract(a,b));
        System.out.println(a+"*"+b+"="+cs.mutiply(a,b));
        System.out.println(a+"/"+b+"="+cs.divide(a,b));
        System.out.println(a+"%"+b+"="+cs.remainder(a,b));
        System.out.println(a+"和"+b+"中的最大值:"+cs.max(a,b));
        System.out.println(a+"和"+b+"中的最小值:"+cs.min(a,b));
        System.out.println(a+"是否等于"+b+": "+cs.equals(a,b));
        System.out.println(a+"是否是偶数: "+cs.isEven(a));
        System.out.println(a+"是否是素数:"+cs.isPrimeNumer(a));
        System.out.println("请输入d:");
        double d=new Scanner(System.in).nextDouble();
        System.out.println(d+"四舍五入后的数:"+cs.round(d));
    }
}

工具类的所有功能代码如下

public class MathTools {

    private int a,b;
    private double d;

    public MathTools(int a, int b) {
        this.a = a;
        this.b = b;
    }

    public MathTools(double d) {
        this.d = d;
    }

    //1、int add(int a, int b):求a+b
    public  int add(int a ,int b){
        int c=a+b;
        return c;
    }

        //2、int subtract(int a,int b):求a-b
    public int subtract(int a,int b){
        int c=a-b;
        return c;
}

//3、int mutiply(int a, int b):求a*b
    public int mutiply(int a,int b){
        int c= a*b ;
        return c;
    }
//4、int divide(int a, int b):求a/b
public int divide(int a,int b){
    int c=a / b  ;
    return c;
}

//5、int remainder(int a, int b):求a%b
public int remainder(int a,int b){
    int c= a%b ;
    return c;
}

//6、int max(int a, int b):求a和b中的最大值
public int max(int a,int b){
    int c= Math.max(a,b) ;
    return c;
}

//7、int min(int a, int b):求a和b中的最小值
public int min(int a,int b){
    int c=  Math.min(a,b);
    return c;
}

//8、boolean equals(int a, int b):判断a和b是否相等
public boolean equals(int a,int b){
    if (a==b){
        return true;
    }else {
        return false;
    }
}

//9、boolean isEven(int a):判断a是否是偶数
    public boolean isEven(int a){
        if (a%2==0){
            return true;
        }else {
            return false;
        }
    }
//10、boolean isPrimeNumer(int a):判断a是否是素数
    public boolean isPrimeNumer(int a){
        int i =0;
        for (i = 2; i < a; i++) {
            if (a%i==0){
                return false;
            }
        }
        if (i==a){
            return true;
        }else {
            return false;
        }
    }
//11、int round(double d):返回d的四舍五入后的整数值
    public int round(double d){
        int c=(int) Math.ceil(d);
        return c;
    }
}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三天不洗头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值