我试图做一个无向图与一些节点(不是所有的,不像我的例子)被连接到另一个。所以我的输入格式看起来像如果我使用分隔符,如何检查使用扫描仪查看换行符?
3
1:2,3
2:1,3
3:1,2
含义有三个节点的一切,和1连接到2和3,2连接到1和3等。
但是,我不明白如何以有意义的方式接受输入。这是迄今为止我所拥有的。
public Graph createGraph() {
Scanner scan = new Scanner(System.in).useDelimiter("[:|,|\\n]");
int graphSize = scan.nextInt();
System.out.println(graphSize);
for (int i = 0; i < graphSize; i++) {
while (!scan.hasNext("\\n")) {
System.out.println("Scanned: " + scan.nextInt());
}
}
return new Graph(graphSize);
}
可我
while (!scan.hasNext("\\n"))
看到,当我使用它分隔符的换行符?
分隔符用于将字符串拆分为令牌并在进程中丢失。如果令牌对您有意义,则不应将其用作分隔符 – Aaron
我已经尝试过,但如果我将新行隔离在分隔符外,则第一个数字不会被输入 –
您是否期待换行符为你的输入本身的一部分? – AbtPst