java字符串的奇怪行为

fod*_*don 6 java

我有两个字符串变量ticker和detail.我试图在一行中打印出两个字符串.它只是行不通.我尝试过这么多不同的方法.为了排除未初始化字符串的可能性,我试着用不同的行打印出来......这很有效.

此示例有效...除了输出需要在一行中.

            System.out.println(ticker);
            System.out.println(detail);
Run Code Online (Sandbox Code Playgroud)

输出是:

IWM
|0#0.0|0#0.0|0#-4252#386|
GLD
|0#0.0|0#0.0|0#-4704#818|
Run Code Online (Sandbox Code Playgroud)

当我尝试以多种方式将输出放入一行时,我只得到了自动收报机...细节字符串只是没有打印...不是控制台或文件.以下是一些产生相同结果的示例代码段:

尝试1:

 System.out.println(ticker.concat(detail));
Run Code Online (Sandbox Code Playgroud)

尝试2:

System.out.println(ticker+detail);
Run Code Online (Sandbox Code Playgroud)

尝试3:

StringBuffer sb = new StringBuffer();
sb.append(ticker);
sb.append(detail);
System.out.print(sb.toString());
Run Code Online (Sandbox Code Playgroud)

尝试4:

System.out.print(ticker);
System.out.println(detail);
Run Code Online (Sandbox Code Playgroud)

在上面的所有尝试中,我得到以下输出......好像忽略了细节部分:

GOLD
BBL
SI
Run Code Online (Sandbox Code Playgroud)

什么可能导致这些症状?有没有办法让两行打印在一行?

Ern*_*ill 7

这可能更适合作为注释,但后来我无法编写我需要编写的代码片段.

字符串来自哪里?它们来自可能包含一些奇怪控制字符的文件吗?如果您不是自己创建String,则应检查它们以查找嵌入式垂直回车或其他奇怪现象.这样做同时为detailticker字符串:

for (int i=0; i<detail.length(); ++i)
    System.out.println((int) detail.charAt(i));
Run Code Online (Sandbox Code Playgroud)

看看你是否得到了非ASCII范围内的任何东西.