컬렉션이 있고 컬렉션에 양의 정수만 추가 할 수 있도록 add() 메서드를 구현하고 싶습니다. 컬렉션에는 4 개의 값을 저장할 수 있으며 아래 코드를 사용하여 모든 값을 "-1"로 초기화합니다.Java : 컬렉션에서 요소 제거
public class Bag implements Collection {
private int[] elements;
public Bag() {
elements = new int[Runner.SIZE_OF_COLLECTION];
for (int i = 0; i < Runner.SIZE_OF_COLLECTION; i++) {
elements[i] = -1;
}
}
지금까지 방법 추가 기능에서() 아래에,이 루프 집합 내 각각의 요소를 통해 반복, 내가 ("TOADD"를 추가하고자하는 양의 정수로 0보다 작의 각 요소를 교체이).
문제는, "toAdd"라는 양의 정수를 한 번만 추가하고 루프의 중단없이이 메서드는 컬렉션의 모든 요소 "-1"을 양의 정수로 바꿉니다. 루프가 중단되면이 메서드는 양의 정수를 전혀 추가하지 못합니다. 컬렉션에 양의 정수를 한 번만 추가하는 방법을 얻는 방법에 대한 아이디어가 있습니까?
public void add(int toAdd) {
for (int i = 0; i < Runner.SIZE_OF_COLLECTION; i++) {
if (elements[i] <= 0 && toAdd>0) {
elements[i] = toAdd;
}
break;
}
}
미리 감사드립니다.
의심되는 요소 배열이 비어 있습니다. add 메소드 내에서 크기와 내용을 출력 해보십시오. – kosa
제목이 다소 오도 된 것입니다 ... 나는 당신이이 특별한 문제에 대한 디자인 과정에서 조금 더 많은 시간을 소비해야한다고 생각합니다. 또한 러너는 무엇입니까? – Gevorg
러너는 컬렉션의 크기를 설정하는 클래스입니다. 예, 제목에 "제거"하지 않고 컬렉션에 메소드를 추가하는 것을 의미했습니다. – user1178874