모의 고사 질문에 붙어 있습니다. Power
이라는 클래스를 만들었습니다.이 클래스는 숫자를 임의의 값으로 올릴 수있었습니다.이 하위 클래스가 주 클래스와 상호 작용하는 방법
질문의 세 번째 부분은 BoundedPower
인 Power
으로 확장되는 또 다른 클래스를 만들 것을 요청합니다. MAX-X
변수를 받았고 (x는이 값을 초과 할 수 없음) BoundedPower
클래스는 다음을 수행해야한다고 말했습니다. Power
클래스처럼 동작하고 생성자를 사용하고 powN
메서드를 사용합니다.
내 코드가 아래와 같으므로 BoundedPower
클래스 작업을 수행하기 위해해야 할 일이 확실하지 않습니다.
public class Power {
private double x = 0;
Power(double x) {
this.x = x;
}
public double getX() {
return x;
}
public double powN(int n) {
double result = 1.0;
for (int i = 0; i < n; i++) {
result = result * x;
}
return result;
}
public static void main(String[] args) {
Power p = new Power(5.0);
double d = p.powN(3);
System.out.println(d);
}
}
public class BoundedPower extends Power {
public static final double MAX_X = 1000000;
// invariant: x <= MAX_X
Power x;
BoundedPower(double x) {
super(x);
// this.x=x; x is private in Power class
}
public double powN(int n) {
if (x.getX() > MAX_X) {
return 0;
} else {
double result = 1.0;
for (int i = 0; i < n; i++) {
result = result * getX();
}
return result;
}
}
public static void main(String[] args) {
BoundedPower bp = new BoundedPower(5);
double test = bp.powN(4);
System.out.println(test);
}
}
그게 훨씬 쉽습니다, 나는 다음 번에 그 점을 염두에 두겠습니다. 감사 – nsc010