重载----方法重载

重载

方法(函数)重载简单的来说就是,方法名(函数名)相同,参数的个数类型不同 ,以及返回值不同,这样的方法也叫构造方法。

实验要求

要求:
1.编写一个在安卓下运行的减法类,其内置减法运算应囊括整型和双精度的减法运算。
2.当实参数量为2时实现两个数的相减,当实参数量为1时实现减一操作,当实参数量为0时输出结果0。
3.运行时至少需计算:
a)学号倒数第二位减倒数第一位
b)1.1-1.001
c)1.1-1.00001
d)2.01
4.计算结果要准确。
这个实验要求要编写一个减法类,并实现多种不同类型的计算,我的实现方法是在减法类Sub中写几个不同的构造方法,然后实例化类对象就可以根据参数不同分别调用。

代码

package com.yy;
import androidx.appcompat.app.AppCompatActivity;
import java.math.BigDecimal;
import android.os.Bundle;
import android.util.Log;


public class MainActivity extends AppCompatActivity
 {
    @Override
    protected void onCreate(Bundle savedInstanceState)
     {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Sub a = new Sub();//实例化一个减法类对象a
//方法的调用
        a.sub();
        a.sub(3);
        a.sub(7, 0);
        a.sub(2.01);
        a.sub(1.1, 1.001);
        a.sub(1.1, 1.00001);
    }
}

//减法类
class Sub
 {
    //无参构造方法,输出结果0
    void sub() 
    {
        Log.i("yy", "sub()= 0");
    }

    //一个参数,整型,结果直接减一
    void sub(int x)
     {
        Log.i("yy", "sub(int x)= " + (x - 1));

    }

    //一个参数,双精度浮点型,涉及精确计算,所以要先进行精确转换
    void sub(double x)
     {
        BigDecimal a5 = BigDecimal.valueOf(x);//把x转为十进制的BigDecimal
        BigDecimal a6 = BigDecimal.valueOf(1);
        BigDecimal result1 = a5.subtract(a6);
        Log.i("yy", "sub(double x)= " + result1);
    }

    //两个参数,整型
    void sub(int x, int y)
     {
        Log.i("yy", "输出学号倒数第二位减倒数第一位: ");
        Log.i("yy", "sub(int x,int y)= " + (x - y));
    }

    //两个参数,浮点型
    void sub(double x, double y)
     {
        BigDecimal a3 = BigDecimal.valueOf(x);
        BigDecimal a4 = BigDecimal.valueOf(y);
        BigDecimal result2 = a3.subtract(a4);//调用subtract()方法
        Log.i("yy", "sub(double x,double y)= " + result2);
    }
}

运行结果

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值