gpt4 book ai didi

java - 使用indexOf读入文本文件行以分隔数组

转载 作者:行者123 更新时间:2023-11-30 04:37:14 25 4
gpt4 key购买 nike

我想根据该行是否包含问号将文本文件的元素分成不同的数组。这是我所了解到的。

    Scanner inScan = new Scanner(System.in);

String file_name;
System.out.print("What is the full file path name?\n>>");
file_name = inScan.next();

Scanner fScan = new Scanner(new File(file_name));
ArrayList<String> Questions = new ArrayList();
ArrayList<String> Other = new ArrayList();

while (fScan.hasNextLine())
{
if(fScan.nextLine.indexOf("?"))
{
Questions.add(fScan.nextLine());
}

Other.add(fScan.nextLine());
}

最佳答案

存在不少问题

  • nextLine() 实际上返回下一行并在扫描仪上移动,因此您需要读取一次
  • indexOf 返回一个 int,而不是一个 boolean,我猜你更习惯 C++?您可以使用以下任意一项来代替:
    • indexOf("?") >=0
    • 包含(“?”)
    • 匹配(“\?”)等
  • 请遵循java方式并使用camelCase作为变量...

代码

public static void main(String[] args) throws FileNotFoundException {

Scanner scanner = new Scanner(new File("foo.txt"));
List<String> questions = new ArrayList<String>();
List<String> other = new ArrayList<String>();
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
if (line.contains("?")) {
questions.add(line);
} else {
other.add(line);
}
}
System.out.println(questions);
System.out.println(other);
}

foo.txt

line without question mark
line with question mark?
another line

关于java - 使用indexOf读入文本文件行以分隔数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13188635/

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