gpt4 book ai didi

java - 从输入文件读取数字时出错

转载 作者:行者123 更新时间:2023-12-02 03:38:59 24 4
gpt4 key购买 nike

我正在制作一个程序来计算我将使用 input.txt 文件制作的连接组件图的数量。在 input.txt 文件中,文本如下所示。

7 6 (enter)
0 1 (enter)
1 2 (enter)
2 0 (enter)
0 3 (enter)
3 2 (enter)
4 5 (enter)

它工作得很好,但是当我将第一行数据编号 7 更改为 10 或更大的数字时,它会显示这样的错误消息,

Exception in thread "main" java.lang.NumberFormatException: For input string: "0 "
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.parseInt(Integer.java:615)
at Assignment41.main(Assignment41.java:28)

我不知道为什么会发生这种情况以及如何调试它..有什么想法吗?

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class Assignment41 {
public static void main(String[] args) throws IOException {
BufferedReader in;
try {
in = new BufferedReader(new FileReader("input.txt"));

String graphGuide;
graphGuide = in.readLine();

int divider = graphGuide.indexOf(" ");
int NodeNum = Integer.parseInt(graphGuide.substring(0, divider));
int EdgeNum = Integer.parseInt(graphGuide.substring(divider + 1));

AdjList cc = new AdjList();
for(int i = 0; i < NodeNum; i++){
cc.insertVertex(i);
}

for(int j = 0; j < EdgeNum; j++){
String temp;
temp = in.readLine();

int v1 = Integer.parseInt(temp.substring(0, divider));
int v2 = Integer.parseInt(temp.substring(divider + 1));
cc.insertEdge(v1, v2);
cc.insertEdge(v2, v1);
}

for(int k = 0; k < NodeNum; k++){
cc.BFS(k);
System.out.printf(" ");
}

System.out.println();
System.out.println(cc.ccCount);

in.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

最佳答案

而不是使用

intdivider = graphGuide.indexOf("");
int NodeNum = Integer.parseInt(graphGuide.substring(0, 除数));
int EdgeNum = Integer.parseInt(graphGuide.substring(divider + 1));

你可以很好地使用

String divider[] = graphGuide.split(" ");
int NodeNum = Integer.parseInt(divider[0]);
int EdgeNum = Integer.parseInt(divider[1]);

关于java - 从输入文件读取数字时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37069382/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com