gpt4 book ai didi

java - 如何在 Java 中不使用 nextLine() 的情况下在 next() 中包含空格

转载 作者:行者123 更新时间:2023-11-30 08:17:16 27 4
gpt4 key购买 nike

我试图让用户输入一个字符串,该字符串可以包含空格,也可以不包含空格。因此,我使用 NextLine();

但是,我正在尝试使用该字符串搜索文本文件,因此我使用 next() 来存储扫描仪通过的每个字符串,我尝试使用 NextLine() 但它会占用整行, 我只需要逗号之前的单词。 到目前为止,这是我的代码

System.out.print("Cool, now give me your Airport Name: ");

String AirportName = kb.nextLine();
AirportName = AirportName + ",";

while (myFile.hasNextLine()) {
ATA = myFile.next();
city = myFile.next();

country = myFile.next();
myFile.nextLine();
// System.out.println(city);

if (city.equalsIgnoreCase(AirportName)) {
result++;
System.out.println("The IATA code for "+AirportName.substring(0, AirportName.length()-1) + " is: " +ATA.substring(0, ATA.length()-1));
break;
}
}

当用户输入一个不带空格的单词时,该代码有效,但当用户输入两个单词时,则不满足条件。

文本文件仅包含一些机场、其 IATA、城市和国家/地区。这是一个示例:

ADL, Adelaide, Australia
IXE, Mangalore, India
BOM, Mumbai, India
PPP, Proserpine Queensland, Australia

最佳答案

默认情况下,next() 搜索第一个空格作为分隔符。您可以像这样更改此行为:

Scanner s = new Scanner(input);
s.useDelimiter("\\s*,\\s*");

这样,s.next() 将匹配逗号作为输入的分隔符(前面或后面有零个或多个空格)

关于java - 如何在 Java 中不使用 nextLine() 的情况下在 next() 中包含空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29481289/

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