我想根据行是否包含问号将文本文件的元素分成不同的数组。这是我所知道的。
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,而不是布尔值,我想您对C ++的使用更多了吗?您可以改用以下任何一种方法:
indexOf(“?”)> = 0
contains(“?”)
matchs(“ \?”)等
请遵循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/