在Java中,如果给你一个每行两个元素的文本文件,我们如何分别获取这些元素?
例如,我们说5 line text file
包含以下内容:
a morgan
b stewart
c david
d alfonso
e brittany
并且假设我们想要将单个字符存储在变量中,将名称存储在另一个变量中。我们怎么做这个是java?
我已经实现了一些像这样的代码:
while(scanner.hasNextLine()){
for(int i = 0; i < 2; i++){
char character = scanner.hasNextChar(); // doesn't exist but idk how
String name = scanner.hasNext();
}
}
基本上我有一个while循环逐行读取每个2个元素,并且在每一行中都有一个for循环来将每个元素存储在一个变量中。我对如何在java中提取每个单独的元素感到困惑。
答案 0 :(得分:1)
考虑到您使用scanner.hasNextLine()
作为循环条件。您可以拆分String
,然后根据需要收集结果。
while (scanner.hasNextLine()){
String[] result = scanner.nextLine().split(" ");
char character = result[0].charAt(0);
String name = result[1];
}
答案 1 :(得分:0)
您可以使用String.split(String regex)
方法将该行与空白字符分开
它将生成一个包含两个String的数组。
如果您调用while(scanner.hasNextLine()){
来获取输入,则应调用String name = scanner.nextLine();
来检索输入。
hasNext()
方法返回一个布尔值,指示此扫描程序的输入中是否有另一个标记。
执行while(scanner.hasNextLine()){
和scanner.hasNext()
是多余的。