我需要一些帮助来解决我遇到的这个问题。已使用缓冲区读取器读取了txt文件,并尝试使用StringTokenizer。
我有这样的字符串,先输入一些文本,再输入一些数字。我只需要数字,并想跳过“文本”。

Test 2 5 1


我的代码:

// Check if the graph contains an cycle
    StringTokenizer st1 = new StringTokenizer(br.readLine());
    Graph.checkForCycle(null, Integer.parseInt(st1.()), Integer.parseInt(st1.nextToken()), Integer.parseInt(st1.nextToken()));


如您所见,这里有4组,当我调用Graph.checkForCycle()方法时,我希望最后3条与参数一起发送

希望有人能帮忙。

最佳答案

您需要扔掉第一个:

StringTokenizer st1 = new StringTokenizer(br.readLine());
st1.nextToken(); // "Text" - do nothing with it
int i1 = Integer.parseInt(st1.nextToken()); // 2
// ...
Graph.checkForCycle(null, i1, i2, i3);


另外,您可以使用负责转换的Scanner:

Scanner sc = new Scanner(br.readLine());
sc.next(); // "Text"
int i1 = sc.nextInt();
// ...

08-28 18:32