public class ScoreCard { strong text
private double[] scores;
/**
* @param val
* @param low
* @param high
* @return low if val < low,
* high if val > high,
* val if val is between low and high
*/
private double constrain(double val, int low, int high) {
if (val < low)
return low;
if (val > high)
return high;
else
return val;
}
/**
* DEEP copy m into scores with each item contrained between 0 and 100.
* use method {@link this#constrain(double, int, int)}.
* For example, if s = {-15.2, 67.4, 126.8}, scores should become
* {0, 67.4, 100}, AND scores should be a DEEP copy of s.
* @param s (assume s is not null)
*/
public void setMarks(double[] s) {
for(int i = 0; i < s.length; i++) {
if (s[i] < 0 || s[i] > 100)
constrain(s[i], 0, 100);
this.scores[i] = s[i];
}
}
나는이 코드 부분을 지금 당장 붙들고 있습니다. Javadoc 상태에서, 나는 "constrain"매개 변수를 "setMarks"로 호출하여 <의 점수를 0으로 설정하고 점수가 100에서 100으로 설정하는 데 어려움을 겪고 있습니다. 내 코드가 딥 카피를 제대로 작성하고 있다고 생각하지 않습니다. "s"를 "점수"로 바꿉니다.메서드에 매개 변수 전달 및 전체 복사본 만들기
올바른 방향으로 어떤 추진력이라도 대단히 감사하겠습니다.
당신은 전화 한거야 구속(),하지만 당신은 방법을 반환하는 제한된 값을 무시하고 있습니다. –