여기에 문제가 있습니까? 목록, 링크드 목록과 같은 util 라이브러리로 인접 목록을 만들려고합니다. 인덱스 : :하지만 코드를 실행 한 후이 스레드에서 "주요"java.lang.IndexOutOfBoundsExceptionJava에서 인접성 목록을 만드는 동안 예외가 발생했습니다.
예외를 생성 0, 크기 : java.util.LinkedList.checkElementIndex (LinkedList.java:555)에서 0 문제
import java.util.*;
class GraphMain{
List<Edge> G[];
public GraphMain(int n) {
G=new LinkedList[n];
for(int i=0;i<G.length;i++)
G[i]=new LinkedList<Edge>();
}
boolean isConnected(int u,int v) {
for(Edge i: G[u])
if(i.v==v) return true;
return false;
}
void addEdge(int u,int v) {
G[u].add(new Edge(v));
}
void printGraph() {
for(int i=0;i<G.length;i++)
System.out.println(i+"=>"+G[i].get(i)+"\n");
}
}
내 테스터 클래스는 다음과 같습니다
public class Graph {
public static void main(String[] args) {
GraphMain g=new GraphMain(10);
g.addEdge(1, 2);
g.addEdge(2, 5);
g.addEdge(2, 5);
g.addEdge(8, 3);
g.printGraph();
}
}
예외는 불완전 할 것으로 보인다. 있을 경우 나머지 부분을 보여주십시오. – blafasel
@blafasel 다른 클래스가 있습니다. 클래스 가장자리 { \t \t int v; \t \t public Edge (int v) { \t \t \t this.v = v; \t \t \t \t} –
나는이 문제에 대해 좋은 생각을 가지고 있습니다. 아래에 자세한 답변을 추가했습니다. 문제를 해결하는 것이 유용하다고 판명되면 옆에있는 회색 체크 표시를 클릭하여 답을 수락 할 수 있습니까? – Assafs