gpt4 book ai didi

java - 无法理解以下简单程序的输出

转载 作者:行者123 更新时间:2023-11-30 10:24:15 24 4
gpt4 key购买 nike

/* A Java program to illustrate working of StringTokenizer
class:*/
import java.util.*;
public class NewClass
{
public static void main(String args[])
{


System.out.println("Using Constructor 3 - ");
StringTokenizer st3 =
new StringTokenizer("JAVA : Code : String", " :", true);
while (st3.hasMoreTokens())
System.out.println(st3.nextToken());
}
}

为什么上面程序的输出是这样的:

Using Constructor 3 - 
JAVA

:

Code

:

String

我的问题是为什么它有额外的换行符(即它在“Java”、“:”、“Code”等之后有空行)

最佳答案

如果我们让打印更冗长一点,它会变得更清晰一点:

while (st3.hasMoreTokens())
System.out.printf("token: '%s'\n", st3.nextToken());

输出将是:

token: 'JAVA'
token: ' '
token: ':'
token: ' '
token: 'Code'
token: ' '
token: ':'
token: ' '
token: 'String'

如您所见,: 是标记。这是因为指定分隔符字符串 : 中的每个字符都被用作分隔符。并且您将 true 作为第三个参数传递给 StringTokenizer 的构造函数,这使得它返回分隔符作为标记。

这在 StringTokenizer.html#StringTokenizer 的 JavaDoc 中有解释。 .

关于java - 无法理解以下简单程序的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46620594/

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