简单计算器的测试接口实现
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);
}
}
这应该为您修复格式、测试其他非常简单的方法并进行更正提供了一个良好的开端。
我想测试我的接口实现是否正确完成,但我真的不知道怎么做。
如果您能给我一些关于我的实现的提示(也许缺少什么?),将不胜感激。
应该是一个简单的计算器。
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);
}
}
这应该为您修复格式、测试其他非常简单的方法并进行更正提供了一个良好的开端。