【问题标题】:Read graph from file and convert into array Java从文件中读取图形并转换为数组 Java
【发布时间】:2019-03-20 14:54:20
【问题描述】:

我需要从 txt 文件中读取图形矩阵。例如

4
0 1 1 0 
1 0 1 0 
1 1 0 1 
0 0 1 0

这是输入文件。第一个数字是顶点数。我试过这样的事情:

Scanner sc = new Scanner(file.getAbsolutePath());
int n = sc.nextInt();
int [][] graph = new int [n][n];
for (int x =0; x<n; x++)
    for (int y=0; y<n;y++)
        graph[x][y] = sc.nextInt();

但我收到了InputMismatchException。我知道这意味着什么,但我不明白有什么问题。文件包含int 类型字符,我正在使用nextInt();有什么建议么?也许更简单的方法将矩阵转换为数组?感谢您的建议。

【问题讨论】:

    标签: java arrays matrix


    【解决方案1】:

    您为Scanner 使用了错误的构造函数。您正在使用这个:https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#Scanner(java.lang.String),它创建了Scanner,其中将字符串作为输入流。

    将构造函数更改为new Scanner(new FileReader(file.getAbsolutePath()))

    【讨论】:

    • 现在它说 Unhandled exception java.io.FileNotFoundException
    • @Mak 所以你应该处理异常。使用try/catch 块,考虑当文件不存在时您想要做什么,然后将其写入处理程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-27
    • 1970-01-01
    • 1970-01-01
    • 2016-03-11
    • 1970-01-01
    相关资源
    最近更新 更多