Edge.java (인터페이스)얻을에만 사용이 뒤바뀜 방법
public interface Edge {
/**
* get the first node of the Edge.
* @return the first Node.
*/
public int getFirstNode();
/**
* get the second node of the Edge.
* @return the second Node.
*/
public int getSecondNode();
}
EdgeImpl.java (구현)
public class EdgeImpl implements Edge {
private int node1;
private int node2;
public EdgeImpl(int node1, int node2) {
this.node1 = node1;
this.node2 = node2;
}
@Override
public int getFirstNode() {
// TODO Auto-generated method stub
return node1;
}
@Override
public int getSecondNode() {
// TODO Auto-generated method stub
return node2;
}
}
first.java (I가의 도움이 필요 무엇)
import java.util.ArrayList;
import java.util.List;
public class first {
public static void main(String[] args) {
List<Edge> graph = new ArrayList<>();
Edge a = new EdgeImpl(1, 2);
Edge b = new EdgeImpl(3, 4);
graph.add(a);
graph.add(b);
}
public static void reverse(List<Edge> graph) {
int count = 0;
while(count < graph.size()) {
int temp1 = graph.get(count).getFirstNode();
int temp2 = graph.get(count).getSecondNode();
graph.get(count).getFirstNode() = temp2;
graph.get(count).getSecondNode() = temp1;
count = count + 1;
}
}
}
Edge 인터페이스는 단지 두 개의 int 값이며 두 개의 getter가 있습니다.
하자 우리가 같이있는 목록 [EdgeImpl (1,2), EdgeImpl을 (3,4)]
난에 열거 된 것을 만들고 싶어 [EdgeImpl (2,1), EdgeImpl (가 말한다 4,3)]. 리버스 메서드가 정확히 수행 할 작업입니다. 나는 set 메소드를 추가 질수 있도록
제외
는I 인터페이스도 구현을 편집 어차피 그것은 IN-배치 할 수있다.
get 메소드를 사용하여 바꿀 수 없기 때문에 시도가 실패합니다. 나는 그 둘을 어떻게 바꿀 수 있는지에 대해 매우 혼란 스럽다.
어떤 도움 이라니?
세터 메소드가 없으므로 구현을 변경할 수 없습니다. 나는 유일한 방법은 반사라고 생각한다. –
당신의 과제가'List'를 뒤집어 쓰는 것이라면,'Edge'는 전혀 관련이 없다. 적어도 그것이 당신이 설명했던 방식입니다. 선생님에게 명확히 해달라고 요청하는 것이 좋습니다. – Kayaman