我有两个字符串变量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)
什么可能导致这些症状?有没有办法让两行打印在一行?
这可能更适合作为注释,但后来我无法编写我需要编写的代码片段.
字符串来自哪里?它们来自可能包含一些奇怪控制字符的文件吗?如果您不是自己创建String,则应检查它们以查找嵌入式垂直回车或其他奇怪现象.这样做同时为detail和ticker字符串:
for (int i=0; i<detail.length(); ++i)
System.out.println((int) detail.charAt(i));
Run Code Online (Sandbox Code Playgroud)
看看你是否得到了非ASCII范围内的任何东西.
| 归档时间: |
|
| 查看次数: |
164 次 |
| 最近记录: |