2017-04-19 64 views
-3

我想测试一下我的接口实现是否正确完成,但实际上并不知道如何实现。简单计算器的测试接口实现

如果你能给我一个关于我的实现的提示(可能缺少某些东西?),将非常感激。

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

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

哪里/你到底需要什么提示?请更具体一点。 – user3079834

回答

1

你缺少@Override注释上述所有的方法,你从你的接口覆盖(不是必要的,但好的做法,以允许其他人看到被覆盖),半冒号的后失踪声明int,最后你的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); 

    } 
} 

这应该让你有一个好的开始,让你修正你的格式,并测试其他非常简单的方法,并对它们进行更正。

+0

非常感谢! –