1. 程式人生 > 其它 >定義一個類,能夠完成兩個功能:1、加法:1+2+5+72、減法:10-3-2-1-5

定義一個類,能夠完成兩個功能:1、加法:1+2+5+72、減法:10-3-2-1-5

package com.iit.ooadhomework1;


//版本一
public class MyMath1 { public static int add(int a,int... b){ int sum = a; for(int i=0;i<b.length;i++){ sum += b[i]; } return sum; } public static int sub(int a,int... b){ int sum = a; for(int i=0;i<b.length;i++){ sum
-= b[i]; } return sum; } }
package com.iit.ooadhomework1;
/*
1、加法:1+2+5+7
2、減法:10-3-2-1-5

 */
public class Start1 {
    public static void main(String[] args) {
        //版本一
        int result1 = MyMath1.add(1,2,5,7);
        int result2 = MyMath1.sub(10,3,2,1,5);
        System.out.println(
"加法求和的結果是"+result1); System.out.println("減法求差的結果是"+result2); } }
package com.iit.ooadhomework2;

//版本二
public class MyMath2 {
    private int num1;
    private int[] num2;

    public MyMath2(){}

    public MyMath2(int num1,int... num2){
        this.num1 = num1;
        this.num2 = num2;
    }

    
public int add(){ int sum = num1; for(int i=0;i<num2.length;i++){ sum += num2[i]; } return sum; } public int sub(){ int sum = num1; for(int i=0;i<num2.length;i++){ sum -= num2[i]; } return sum; } }
package com.iit.ooadhomework2;

public class Start2 {
    public static void main(String[] args) {
        //版本二
        MyMath2 myMath1 = new MyMath2(1,2,5,7);
        int result3 = myMath1.add();
        MyMath2 myMath2 = new MyMath2(10,3,2,1,5);
        int result4 = myMath2.sub();
        System.out.println("加法求和的結果是"+result3);
        System.out.println("減法求差的結果是"+result4);

    }
}
package com.iit.ooadhomework3;
//版本三
public interface IAdd {
    int add(int a,int...b);
}

interface ISub{
    int sub(int a,int...b);
}
package com.iit.ooadhomework3;

public class MyMath3 implements IAdd, ISub {
    public MyMath3(){}

    @Override
    public int add(int a, int... b) {
        int sum = a;
        for(int i=0;i<b.length;i++){
            sum += b[i];
        }
        return sum;
    }

    @Override
    public int sub(int a, int... b) {
        int sum = a;
        for(int i=0;i<b.length;i++){
            sum -= b[i];
        }
        return sum;
    }
}
package com.iit.ooadhomework3;

public class Start3 {
    public static void main(String[] args) {
        //版本三
        MyMath3 myMath3 = new MyMath3();
        int result5 = myMath3.add(1,2,5,7);
        int result6 = myMath3.sub(10,3,2,1,5);
        System.out.println("加法求和的結果是"+result5);
        System.out.println("減法求差的結果是"+result6);

    }
}
package com.iit.ooadhomework4;
//版本四
public interface IAdd {
    int add(int a,int...b);
}
interface ISub{
    int sub(int a,int...b);
}
package com.iit.ooadhomework4;

public class MyAdd implements IAdd {
    @Override
    public int add(int a, int... b) {
        int sum = a;
        for (int i = 0; i < b.length; i++) {
            sum += b[i];
        }
        return sum;
    }
}
package com.iit.ooadhomework4;

public class MySub implements ISub {
    @Override
    public int sub(int a, int... b) {
        int sum = a;
        for (int i = 0; i < b.length; i++) {
            sum -= b[i];
        }
        return sum;
    }
}
package com.iit.ooadhomework4;

public class MyMath4{
    private IAdd addMember;
    private ISub subMember;

    public MyMath4(){}

    public MyMath4(IAdd addMember,ISub subMember){
        this.addMember = addMember;
        this.subMember = subMember;
    }

    public int add(int a, int... b) {
        return this.addMember.add(a, b);
    }

    public int sub(int a, int... b) {
        return this.subMember.sub(a, b);
    }
}
package com.iit.ooadhomework4;

public class Start4 {
    public static void main(String[] args) {
        //版本四
        MyAdd myAdd = new MyAdd();
        MySub mySub = new MySub();
        MyMath4 myMath4 = new MyMath4(myAdd,mySub);
        int result7 = myMath4.add(1,2,5,7);
        int result8 = myMath4.sub(10,3,2,1,5);
        System.out.println("加法求和的結果是"+result7);
        System.out.println("減法求差的結果是"+result8);

    }
}
package com.iit.ooadhomework5;
//版本五
public interface IAdd {
    int add(int a,int...b);
}
interface ISub{
    int sub(int a,int...b);
}
package com.iit.ooadhomework5;

public class MyAdd implements IAdd {
    @Override
    public int add(int a, int... b) {
        int sum = a;
        for (int i = 0; i < b.length; i++) {
            sum += b[i];
        }
        return sum;
    }
}
package com.iit.ooadhomework5;

public class MySub implements ISub {
    @Override
    public int sub(int a, int... b) {
        int sum = a;
        for (int i = 0; i < b.length; i++) {
            sum -= b[i];
        }
        return sum;
    }
}
package com.iit.ooadhomework5;

public class MyMath5 implements IAdd,ISub {
    private IAdd addMember;
    private ISub subMember;

    public MyMath5(){}

    public MyMath5(IAdd addMember,ISub subMember){
        this.addMember = addMember;
        this.subMember = subMember;
    }

    @Override
    public int add(int a, int... b) {
       return this.addMember.add(a, b);
    }

    @Override
    public int sub(int a, int... b) {
        return this.subMember.sub(a, b);
    }
}
package com.iit.ooadhomework5;


public class Start5 {
    public static void main(String[] args) {
        //版本五
        MyAdd myAdd1 = new MyAdd();
        MySub mySub1 = new MySub();
        MyMath5 myMath5 = new MyMath5(myAdd1,mySub1);
        int result9 = myMath5.add(1,2,5,7);
        int result10 = myMath5.sub(10,3,2,1,5);
        System.out.println("加法求和的結果是"+result9);
        System.out.println("減法求差的結果是"+result10);
    }
}