查找连接组件并读取邻接矩阵

时间:2011-09-27 21:35:53

标签: java

这实际上是我在这里发表的第一篇文章。我不知道这个网站,我潜伏在这些问题上,这肯定是我想要继续前进的地方。

我正处于计算机科学高年级,但我的编程技巧不是那么好,这让我对自己感到非常失望。

无论如何,我周五有一个项目,我从星期六起就一直在努力工作,而且我一直在抨击我没有进展。

我需要在图表中找到连接的组件,并从文件中读取邻接矩阵。

我首先在python中尝试过使用igraph python库,但我一直遇到系统错误。因此,经过两天尝试排除故障后,我放弃了,并转移到Java,我正在尝试读取阵列。

这是我目前的代码,我到目前为止,我正在努力谷歌找到最好的答案。现在我只是尝试从文件中读取并将值放入我的2d数组中。我评论了大部分内容,因为我试图弄清楚我做错了什么。

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

错误:     线程“main”中的异常java.io.FileNotFoundException:adjmatrix.txt

(系统找不到指定的文件)     at java.io.FileInputStream.open(Native Method)     在java.io.FileInputStream。(FileInputStream.java:138)     在java.io.FileInputStream。(FileInputStream.java:97)     在java.io.FileReader。(FileReader.java:58)     在javaapplication1.JavaApplication1.adjMatrix(JavaApplication1.java:26)     在javaapplication1.JavaApplication1.main(JavaApplication1.java:60) Java结果:1 建立成功(总时间:0秒)

1 个答案:

答案 0 :(得分:0)

当您尝试打开没有直接路径的文件时,Java将尝试从相对路径解析它。这里,由于您只需输入“adjmatrix.txt”,因此它假定文本文件与使用您执行的main方法的类文件位于同一目录中(JavaApplication1包中的JavaApplication1)。您应该将文本文件移动到类文件旁边的包中,或者像Kevin所说的那样添加更具体的路径名。