& nbsp字符在Java中无法正确显示
-
08-07-2019 - |
题
我尝试过“& nbsp;& nbsp;
"在标准输出Java String中显示两个空格。尝试 System.out.println(" __");
< ----(两个空格,但很明显,它将它修剪为一个空格,因此是下划线)
我想有办法逃脱& nbsp;
,但我无法弄明白,也无法在线寻求帮助。搜索它具有讽刺意味,因为很多文字& nbsp;& nbsp;
出现了。
任何帮助都将不胜感激。
编辑:
for (int j = 0; j < COLUMNS; j++)
if (j < 10){
r += "__";
}
产生10个空格,而不是像打印时预期的那样20个
抱歉,我仍然是格式化的新手解决方案
&amp; nbsp;
是特定于HTML的编码。
你是第一次 - 对应于两个空格的Java字符串只是两个空格字符,例如
String s = " ";
您尝试应该的println()调用已经有效。你做了什么让你相信它被削减到一个空间?我认为你的问题在其他地方......
编辑:
基于您的代码段 - COLUMNS
5,有机会吗? : - )
再次编辑:
好的,如果COLUMNS为15,则此代码将导致 r
附加20个空格。如果你想确定你可以在调试器中单步执行,或者在 r + =
行上面放一个日志语句,以确定该语句的调用次数。
还要看看 r
在输出打印到你正在检查的地方之前是如何使用的;也许它的值在某些时候被截断,或者在Java中显式地或者甚至是隐式的(例如存储在10个字符的数据库列中,之后被检索并稍后显示)。
其他提示
如果您想在字符串中使用不间断的空格,无论出于何种原因,您必须使用Unicode文字:
System.out.println("banana\u00A0phone");
您无需在Java中使用&amp; nbsp。 System.out.print(&quot;&quot;);
应该可以解决问题。尝试类似:
System.out.print("This is the a string before spaces" + " " + "this is a string after spaces");
您还可以通过按住Alt键并在数字键盘上键入0160来创建不间断的空格。