2011-09-27 7 views
0

이것은 실제로 여기 내 첫 번째 게시물입니다. 나는이 웹 사이트를 알지 못했고 나는 질문들과 내가 계속 가고 싶어하는 곳을 돌아 보았습니다.연결된 구성 요소 찾기 및 인접 행렬 읽기

나는 컴퓨터 과학을 전공하는 학년이지만 프로그래밍 기술은 그리 좋지 않아서 나 자신을 매우 실망하게 만듭니다.

어쨌든, 금요일에 프로젝트가 예정되어 있으며 토요일 이후로 프로젝트를 진행해 왔으며 계속 나아지고 있습니다.

그래프에서 연결된 구성 요소를 찾고 파일에서 인접 행렬을 읽어야합니다.

필자는 파이썬에서 igraph 파이썬 라이브러리를 사용하여 처음 시도했지만 시스템 오류가 계속 발생했습니다. 그래서 2 일 동안 문제를 해결하려고 시도한 후, 포기하고 Java로 옮겨 배열을 읽으려고합니다.

여기까지 제가 지금까지 가지고있는 현재 코드입니다. Google에서 최선을 다해 답변을 찾을 수 있습니다. 지금 당장 나는 파일을 읽고 2 차원 어레이에 값을 저장하려고한다. 나는 내가 뭘 잘못하고 있는지 파악하려고하기 때문에 모든 것을 다 주석 처리했다.

package javaapplication1; 
import java.io.*; 

import java.util.Scanner; 
import tio.*; 


public class JavaApplication1 { 


public static void adjMatrix() throws FileNotFoundException, IOException{ 
    int i, j, n = 20; 
    int[][]array = new int[n][n]; 
    String file = ("adjmatrix.txt"); 

    BufferedReader in = new BufferedReader(new FileReader(file)); 
    System.out.println(in.readLine()); 
    in.close(); 
    /* 
    while(in.hasMoreElements()){ 
     for (i = 0; i < n; i++){ 
      for (j = 0; j < n; j++){ 
      array[i][j] = in.readInt(); 
      } // end inner for  
     } // end outer for 
    } 

    //Print array 
    System.out.println("Here is the matrix: "); 
    for (i = 0; i < n; i++){ 
     for (j = 0; j < n; j++){ 
      System.out.print(array[i][j]); 
     } // end innerfor 
    } //end outerfor 
    */ 





} // endclass 



/** 
* @param args the command line arguments 
*/ 
public static void main(String[] args) 
    throws IOException{ 
    adjMatrix(); 
} // end main 
} // end class 
#

ERROR : 스레드 예외 "주요"java.io.FileNotFoundException : adjmatrix.txt

java.io.FileInputStream.open에서 (지정한 파일을 찾을 수 없습니다) (네이티브 메소드) at java.io.FileInputStream. (FileInputStream.java:138) at java.io.FileInputStream. (FileReader.java:58) javaapplication1.JavaApplication1.adjMatrix (JavaApplication1.jav A : 26) javaapplication1.JavaApplication1.main (JavaApplication1.java:60) 자바 결과에서 : 1 BUILD SUCCESSFUL (총 시간 : 0 초)으로

# 당신이 직접하지 않고 파일을 열려고
+0

'adjmatrix.txt' 파일은 어떻게 생겼습니까? 당신이 얻는 문제점은 무엇입니까? – BlackJack

+0

그냥 자체를 catch 예외로 라우팅합니다. adjmatrix.txt = http://www.cs.plattsburgh.edu/~salvador/csc321_F11/hw/adjacency_matrix.txt – envinyater

+0

'ReadInput' 클래스가 어떻게되어 있는지 모르기 때문에 정말로 도움이되지 않습니다. 'hasMoreElements()'는 열거 자에서만 작동하므로 문제가 될 수 있습니다. 'print()'를 사용하여 제대로 값을 얻고 있는지, 디버거가 함수 추적을 볼 수 있는지보십시오. – BlackJack

답변

0

경로에서 Java는 상대 경로에서이를 해결하려고 시도합니다. 여기서는 "adjmatrix.txt"를 단순히 입력 했으므로 텍스트 파일이 실행하는 main 메소드 (JavaApplication1 패키지의 JavaApplication1)를 사용하여 클래스 파일과 동일한 디렉토리에 있다고 가정합니다. 텍스트 파일을 클래스 파일 옆에있는 패키지로 옮기거나 Kevin이 말한 것처럼 더 구체적인 경로 이름을 추가해야합니다.