У меня проблема со следующим кодом. Это была экзаменационная задача, и я не мог понять, в чем была ошибка в данном кодексе. Мы должны найти ошибку в классе A, которая помешала бы нам тестировать код с помощью JUnit.
import java.util.List;
import java.util.ArrayList;
public class A {
private List<String> s;
public A() {
s = new ArrayList<String>();
s.add("Bob");
s.add("Alice");
s.add("Eve");
}
public String s(B b){
int t = b.t();
String r = "Hello ";
for (String z : s) {
boolean x = b.f(t, 5);
if (x) {
r = r + z;
}
}
return r;
}
// main added by myself for testing purpose
public static void main(String[] args){
A test = new A();
test.s();
}
}
interface B{
int t();//complex calculus
boolean f(int a, int b); // complex algorithm
}
Я предполагаю, что ошибка связана с:
- метод
s(B b)
с тем же именем, что и атрибут s
или
interface B
не реализуется
Заранее большое спасибо за помощь!