2017-04-19 68 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

非常感謝! –