【问题标题】:Test interface implementation for simple calculator简单计算器的测试接口实现
【发布时间】:2017-04-19 15:38:56
【问题描述】:

我想测试我的接口实现是否正确,但我真的不知道如何。

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

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

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;
}

【问题讨论】:

  • 您究竟在哪里/为了什么需要提示?请具体一点。

标签: java eclipse interface calculator implementation


【解决方案1】:

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

这是我为使其工作所做的工作,您在打印时遇到了一些格式问题,您应该将所有变量声明为私有并在需要时提供 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);

   }
}

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多