重载----方法重载

重载

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

实验要求

要求:
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);
    }
}

运行结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_49149394/article/details/122680070
今日推荐