자바에서 OOP 소개 프로젝트의 일부로 주어진 과제를 이해하는 데 어려움을 겪고 있습니다. 모든 이름은 정확히 번역되지 않고 변경됩니다. 나는 다음과 같은 방법을 완료하도록 요청하고 있습니다 :자바, 배열에 객체를 삽입하고 부울을 반환하는 방법
public boolean insertHorse(Horse horse) {
return true;
}
방법 서명이 변경 될 수 없습니다, 내가 할 수있는 방법에있는 클래스의 말의 배열에 말을 추가하기로되어있어 성공과 함께 삽입되면 true를 반환하고 그렇지 않으면 false를 반환합니다.
public boolean insertHorse(Horse horse) {
//Create a temp array with length equal to h
Horse[] temp = new Horse[this.horses.length+1];
//copy the horses to the temp array
for (int i = 0; i < horses.length; i++){
temp[i] = horses[i];
}
//add the horse on the temp array
temp[temp.length-1] = horse;
//change the reference of the old array to the temp one
veiculos = temp;
return true;
내 문제는, 어떻게 그리고 왜이 이제까지 거짓 줄 것입니다 : 그래서 이것은 내가 한 일입니까? 나는 농장의 말의 수에 제한이 있지만 방법을 호출하기 전에 확인할 수 있습니다. 이것은 나에게 나쁜 행동인가?
최고, 안부 주앙 실바
"false"를 반환하고 아무것도하지 않으면 함수를 "올바르게"구현할 수 있습니다. –
@HotLicks 그러면 반환 가능성을 잃을 것입니다. 배열의 허용 된 최대 말에 있는지 확인해야하는 과제의 컨텍스트에서 추측합니다. 그렇다면 -> false를 반환합니다. – Kirag
여전히 "계약"을 만족시킨다 - 불변성은 보존 될 것이다. –