나는 왜이 코드가 작동하지 않는지 이해할 수 없다. 사용자가 지정한 빈도로 주어진 x 간격에 걸쳐 모든 점에서 다항식을 계산하는 함수를 작성 중입니다. 내 기본 다항식 코드는 문제의 무의미합니다. 내 문제는 Horner의 방법에서 얻은 값으로 배열을 채우는 것입니다. double의 배열 초기화하기 자바
public double[] evalAt(double s, double f, int n) {
double[] resultArray = new double[n];
double h =((f - s)/(n));
if(s==f) {
double tempResult = 0;
for (int i = this.degree; i >= 0; i--) {
tempResult = tempResult * s + this.terms[i].getCoefficient();
}
resultArray[0] = tempResult;
} else {
int counter = 0;
for(double i = s; i <= f; i=i+h) {
double tempResult = 0;
for (int j = this.degree; j >= 0; j--) {
tempResult = tempResult * i + this.terms[j].getCoefficient();
}
System.out.println("Counter: " + counter + " Result @ Counter: " + tempResult);
resultArray[counter++] = tempResult;
}
System.out.println(resultArray[0]);
System.out.println(resultArray[1]);
System.out.println(resultArray[2]);
System.out.println(resultArray[3]);
}
return resultArray;
}
나는 카운터의 값과 임시 결과가 무엇인지 보여줘 거기에
print
문이있다. 그런 다음 구문은
resultArray['index'] = 'value';
입니다. 내가 이걸 실행할 때 카운터와 값이 정확히 내가 원하는 것임을 알았지 만, 하단에있는 네 개의
print
문으로 배열을 검사하면 아무 일도 일어나지 않습니다. 내 입력은
0,10,10
다음과 같습니다
출력 :
Counter: 0 Result @ Counter: 0.0
Counter: 1 Result @ Counter: 1.0
Counter: 2 Result @ Counter: 4.0
Counter: 3 Result @ Counter: 9.0
Counter: 4 Result @ Counter: 16.0
Counter: 5 Result @ Counter: 25.0
Counter: 6 Result @ Counter: 36.0
Counter: 7 Result @ Counter: 49.0
Counter: 8 Result @ Counter: 64.0
Counter: 9 Result @ Counter: 81.0
Counter: 10 Result @ Counter: 100.0
들여 쓰기를 수정하고 다시 보지 않으시겠습니까? 제 짐작은 괄호가 당신이 생각하는대로하지 않는다는 것입니다. – user949300
다시 컴파일 해보십시오. – Max
신속한 답변을 주셔서 감사하지만 어느 솔루션도 작동하지 않았습니다. – user1068366