用JACA语言的面向对象方式重新实现

感觉完全没有头绪,,新人求指点,,;题目是随机生成五十道100以内算术题;
所谓面向对象方式重新实现是要如何做呢?
package calculate;

public class Calculate {

public static void main(String[] args) {
    // TODO code application logic here
    Calculate caculate = new Calculate();
    int count=0;
    int[] result = new int[50];
    for(int i=0;i<50;i++){
        int x=(int)(Math.random()*2);//设置随机0,1变量
        int first=(int)(Math.random()*100);//设置随机0-100变量
        int second=(int)(Math.random()*100);

        if(first+second>100||first-second<0){//如果结果大于一百或小于零则跳过
            i--;   
            continue;
        }
        else{
            if(x==0)
                caculate.addition(i,first,second,result);//调用加法
            else
                caculate.subtraction(i,first,second,result);//调用减法

            count++;
            if(count%5==0) System.out.println("\n");//每五题换行
        }
    }   
        System.out.println("习题答案");
    for(int i=0;i<50;i++){
        System.out.print("("+(i+1)+")"+":  " +  result[i]+"  ");
        if((i+1)%10==0) System.out.println("\n");
    }

}
//加法
public void addition(int j,int a,int b,int[] result){
    System.out.print("("+(j+1)+")"+":  "+a+" + "+b+" =     ");
    result[j] = a + b;
}
//减法
public void subtraction(int k,int m,int n,int[] result){
    System.out.print("("+(k+1)+")"+":  "+m+" - "+n+" =     ");
    result[k] = m - n;
}

}

import java.util.Random;

public class Equation {
private int firstNum;
private String operator;
private int lastNum;
private int answer;

public Equation(){
    Random random = new Random();
    this.firstNum = random.nextInt(100);
    this.lastNum = random.nextInt(100);
    operator = random.nextInt(2)==0?"+":"-";//可以扩展乘除改成4个然后用switch判断
    if(operator.equals("+")){
        answer = firstNum + lastNum;
    }else{
        answer = firstNum - lastNum;
    }
}



public int getAnswer() {
    return answer;
}



@Override
public String toString() {
    // TODO Auto-generated method stub
    return String.format("%-3s%-2s%-3s%-7s", this.firstNum,this.operator,this.lastNum,"=");
}

}

public class Calculate {

/**
 * @param args
 */
public static void main(String[] args) {
    // TODO code application logic here
    List<Integer> answerList = new ArrayList<Integer>();
    answerList.add(0);
    for (int i = 1; i <= 50; i++) {
        Equation equation = new Equation();
        String index = ((i<10)?"0"+i:i+"");
        System.out.print("(" + index + "):  " + equation.toString());
        answerList.add(equation.getAnswer());
        if (i % 5 == 0) {
            System.out.println();
        }
    }

    System.out.println("习题答案:");
    for (int i = 1; i <= 50; i++) {
        String index = ((i<10)?"0"+i:i+"");
        System.out.print(String.format("%-7s%-5s", "(" + index + "):  ",answerList.get(i)));
        if (i % 5 == 0) {
            System.out.println();
        }
    }
}

}

图片说明

图片说明