Pergunta

Eu tentei "&nbsp;&nbsp;" para exibir dois espaços em uma saída padrão Java cadeia. Tentando System.out.println("__"); <---- (dois espaços, mas, obviamente, ele apara-lo a um espaço, daí o sublinhado)

Eu imagino que há uma maneira de escapar da &nbsp;, mas eu não consigo entender nem encontrar ajuda online. Procurando por ele é irônico porque um monte de &nbsp;&nbsp; literal aparecer.

Qualquer ajuda seria apreciada.

EDIT:

for (int j = 0; j < COLUMNS; j++)
  if (j < 10){
    r += "__";
  }

produz 10 espaços, não 20 como esperado quando impresso

desculpe, eu ainda sou novo formatação aqui

Foi útil?

Solução

&nbsp; é uma codificação específica de HTML.

Você estava certo pela primeira vez - a string Java que corresponde a dois espaços é simplesmente dois caracteres de espaço, por exemplo

.
String s = "  ";

A println () que você tentou deve ter funcionado. O que você fez que o levou a acreditar que foi cortado para baixo para um único espaço? Eu acho que o problema está em outro lugar ...

EDIT:

Com base no seu trecho de código - é COLUMNS 5, por acaso? : -)

EDIT novamente:

OK, se colunas é 15, então este código irá resultar em r ter vinte espaços anexos a ele. Se você quer ser realmente certo você pode passo através de um depurador ou colocar uma declaração de registro acima da linha r += para ver ao certo quantas vezes a declaração é chamado.

Também dê uma olhada em como r é usado mais tarde antes de sua saída é impresso para o lugar que você está inspecionando; talvez o seu valor é truncado em algum momento, seja de forma explícita em Java ou talvez nem sequer implicitamente (como ser armazenado em uma coluna de banco de dados que é 10 caracteres muito estreito antes de ser recuperado e exibido mais tarde).

Outras dicas

Se você quer um espaço sem quebras na cadeia, por qualquer razão, você tem que usar o Unicode literal:

System.out.println("banana\u00A0phone");

Você não precisa usar o & nbsp em Java. System.out.print(" "); deve fazer o truque. Tente algo como:

System.out.print("This is the a string before spaces" + "  " + "this is a string after spaces");

Você também pode criar um espaço sem quebras, segurando a tecla Alt e digitar 0160 no teclado numérico.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top