gpt4 book ai didi

java - 使用带有分隔符的扫描仪

转载 作者:行者123 更新时间:2023-12-01 11:04:13 24 4
gpt4 key购买 nike

我在使用如下所示的输入扫描和存储数据时遇到一些问题:

34 56=22 67=81 75
95 34
95 33
95 32

“=”分隔符分隔了 3 个完全不同的坐标。我必须将最后一个坐标 block 放入数组中,但无法对前 2 个坐标执行此操作。有人能帮助我吗?

我创建了一个 while 循环,如下所示。我想从此输入创建的是起始坐标(前两个数字)、结束坐标(“=”符号之间的数字旁边的数字)以及一个数组,其中其余坐标以“\n”分隔。我的代码只允许我读取第一行中的坐标并将其存储在一个坐标起始对象中。我想将它们分成不同的对象/数组。

Scanner in = new Scanner(System.in);
in.useDelimiter("=");
while(in.hasNext()){
Scanner coordinatesScanner = new Scanner(in.next());
int coordinateX = coordinatesScanner.nextInt();
int coordinateY = coordinatesScanner.nextInt();
start = new Coordinates(coordinateX,coordinateY);
out.printf("%d %d", start.x, start.y);
}

最佳答案

您可以使用 Scanner.useDelimiter 更改分隔符,并使用正则表达式接受 = 以及空格作为分隔符:

Scanner scanner = new Scanner(...);
scanner.useDelimiter("\\s|=");

关于java - 使用带有分隔符的扫描仪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33109167/

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