gpt4 book ai didi

java - .split (' ' ) 在 Java 中创建空输入行

转载 作者:行者123 更新时间:2023-12-01 06:09:38 25 4
gpt4 key购买 nike

在下面的代码中,我尝试将以下输入拆分为两个字符串,这两个字符串最初用空格分隔。

输入:

3413289830 a-bcdefghij
776 a+bc

程序:

import java.io.*;
import java.util.Scanner;

public class StringOut
{
public static void main(String[] args) throws IOException
{
File file = new File("C:\\test.txt");
Scanner in = new Scanner(file);
String line;

while (in.hasNextLine() == true)
{
line = in.nextLine();
String parts[] = line.split(' ');
System.out.println(parts[0]);
}
}
}

输出:

3413289830

776

所以,可以看到,第二次执行while里面的代码时,会输出一个空行;这个空行显然来 self 的 while 循环范围内的某些代码,因此,我可以通过添加

来规避此错误
in.nextLine();

但是,我想知道这条额外的线是从哪里来的?

最佳答案

你确定这段代码编译正确吗?您必须将 line.split("") 与双引号一起使用。

除了该错误之外,您编写的代码与输入完美配合,没有多余的空行。我已经尝试过了。

再次检查您的输入文件。

此外,在任何情况下都需要 in.nextLine(),因为 hasNextLine() 仅检查是否还有更多行需要读取。

输入:

3413289830 a-bcdefghij
776 a+bc

程序:

import java.io.*;
import java.util.Scanner;

public class StringOut
{
public static void main(String[] args) throws IOException
{
File file = new File("test.txt");
Scanner in = new Scanner(file);
String line;

while (in.hasNextLine() == true)
{
line = in.nextLine();
String parts[] = line.split(" ");
System.out.println(parts[0]);
}
}
}

输出:

3413289830
776

关于java - .split (' ' ) 在 Java 中创建空输入行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37508242/

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