编写程序,定义三个重载方法并调用。方法名为mOL。
三个方法分别接收一个int参数、两个int参数、一个字符串参数。分别执行平方运算并输出结果,相乘并输出结果,输出字符串信息。
定义三个重载方法max(),第一个方法求两个int值中的最大值,第二个方法求两个double值中的最大值,第三个方法求三个double值中的最大值。

public class OverloadExer {
    
    //1. 如下的三个方法构成重载
    public void mOL(int i){
        System.out.println(i * i);
        
    }
    public void mOL(int i,int j){
        System.out.println(i * j);
    }
    
    public void mOL(String s){
        System.out.println(s);
    }
    
    //2.如下的三个方法构成重载
    public int max(int i,int j){
        return (i > j)? i : j;
    }
    public double max(double d1,double d2){
        return (d1 > d2)? d1 : d2;
    }
    public double max(double d1,double d2,double d3){
        double max = (d1 > d2)? d1 : d2;
        return (max > d3)? max : d3;
    }
}

定义一个int型的数组:int[] arr = new int[]{12,3,3,34,56,77,432};

让数组的每个位置上的值去除以首位置的元素,得到的结果,作为该位置上的新值。遍历新的数组。

//错误写法
for(int i= 0;i < arr.length;i++){
    arr[i] = arr[i] / arr[0];
}
//正确写法1
for(int i = arr.length – 1;i >= 0;i--){
    arr[i] = arr[i] / arr[0];
}
//正确写法2
int temp = arr[0];
for(int i= 0;i < arr.length;i++){
    arr[i] = arr[i] / temp;
}

(1)定义一个Circle类,包含一个double型的radius属性代表圆的半径,一个findArea()方法返回圆的面积。
(2)定义一个类PassObject,在类中定义一个方法printAreas(),该方法的定义为:public void printAreas(Circle c, int time)在printAreas方法中打印输出1到time之间的每个整数半径值,以及对应的面积。例如,times为5,则输出半径1,2,3,4,5,以及对应的圆面积。
(3)在main方法中调用printAreas()方法,调用完毕后输出当前半径值。

public class ExeTest01 {
    public static void main(String[] args) {
        PassObject pass = new PassObject();
        
        Circle c = new Circle();
        
        pass.printAreas(c, 5);
        
        System.out.println("now radius is" + c.radius);
        
    }
}

class Circle{
    
    double radius;
    
    public double findArea(){
        return Math.PI * radius *radius;
    }
}

class PassObject{
    
    public void printAreas(Circle c,int time){
        // int i = 1;
        for(int i = 1;i <= time;i++){
            System.out.print(i + "\t");
            c.radius = i;
            System.out.println(c.findArea());
        }
        c.radius = time + 1;
        //c.radius = i;
    }
}

已知有一个数列:f(0) = 1,f(1) = 4,f(n+2)=2*f(n+1) + f(n),其中n是大于0的整数,求f(10)的值。
已知一个数列:f(20) = 1,f(21) = 4,f(n+2) = 2*f(n+1)+f(n),其中n是大于0的整数,求f(10)的值。

package cn.kk03.java;

public class RecursionTest {
    public static void main(String[] args) {
        
        RecursionTest test = new RecursionTest();
        System.out.println(test.f1(10));
    }
    
    //已知有一个数列:f(0) = 1,f(1) = 4,f(n+2)=2*f(n+1) + f(n),其中n是大于0的整数,求f(10)的值。
    public int f(int n){
        if(n == 0){
            return 1;
        }else if(n == 1){
            return 4;
        }else{
            return 2 * f(n - 1) + f(n - 2);
        }
    }
    
    //已知一个数列:f(20) = 1,f(21) = 4,f(n+2) = 2*f(n+1)+f(n),其中n是大于0的整数,求f(10)的值。
    public int f1(int n){
        if(n == 20){
            return 1;
        }else if(n == 21){
            return 4;
        }else{
            return f1(n + 2) - 2 * f1(n + 1);
        }
    }
}
最后修改:2021 年 08 月 03 日 04 : 26 PM
如果觉得我的文章对你有用,请随意赞赏