简单计算器的测试接口实现

Test interface implementation for simple calculator

我想测试我的接口实现是否正确完成,但我真的不知道怎么做。

如果您能给我一些关于我的实现的提示(也许缺少什么?),将不胜感激。

应该是一个简单的计算器。

public interface ICalculator {

/** Returns a+b */
public int add(int a, int b);

/** Returns a-b */
public int subtract(int a, int b);

/** Returns a*b */
public int multiply(int a, int b);

/** Returns minimum of a and b */
public int min(int a, int b);

/** Calculate cross sum */
public int crosssum(int a);
}    


public class Calculator implements ICalculator {

public int a
public int b

public int add(int a, int b) 
    System.out.println("ICalculator - add " + a + " und " + b);
    return a + b;
    }

public int subtract(int a, int b) {
    System.out.println("ICalculator - subtract " + a + " und " + b);
    return a - b;
}

public int multiply(int a, int b) {
    System.out.println("ICalculator - multiply " + a + " und " + b);
    return a * b;
}

public int min(int a, int b) {
    System.out.println("ICalculator - min " + a + " und " + b);
    if (a < b)
        return a;
    else
        return b;
}

public int crosssum(int a) {
    System.out.println("ICalculator - crosssum " + a);
    int sum = 0;
    while (0 != a) {
        sum = sum + (a % 10);
        a = a / 10;
    }
    return sum;
}

您从接口中覆盖的所有方法上方都缺少@Override 注释(不需要,但允许其他人查看被覆盖内容的良好做法),声明的整数后缺少分号,最后您的添加方法缺少开头 { brace.

这是我为使其工作所做的工作,您的打印件有一些格式问题,您应该将所有变量声明为私有,并在需要时提供 getter/setter 方法。

private int ans;
@Override
public int add(int a, int b) {
   ans = a + b;
   System.out.println("ICalculator - add " + a + " und " + b + "= " + ans);
   return ans;
}
@Override
public int subtract(int a, int b) {
   ans = a -b;
   System.out.println("ICalculator - subtract " + a + " und " + b
     + "= " + ans);
   return ans;
}

一个更简单的变体,你可以让你的方法无效,然后这样做:

@Override
public void add(int a, int b) {
System.out.println("ICalculator - add " + a + " und " + b "=" + (a + b);
}

以下是我所做的所有测试,看看您的方法是否有效:

public class Test {

   public static void main(String[] args) {
     Calculator cal = new Calculator();

     cal.add(5, 4);
     cal.subtract(6, 0);

   }
}

这应该为您修复格式、测试其他非常简单的方法并进行更正提供了一个良好的开端。