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