Pregunta

He intentado " & amp; nbsp; & amp; nbsp; " para mostrar dos espacios en una Cadena Java de salida estándar. Intentando System.out.println (" __ "); < ---- (dos espacios, pero, obviamente, lo reduce a un espacio, de ahí el guión bajo)

Me imagino que hay una manera de escapar del & amp; nbsp; , pero no puedo resolverlo ni encontrar ayuda en línea. Buscarlo es irónico porque aparecen muchos & amp; nbsp; & amp; nbsp; literales.

Cualquier ayuda sería apreciada.

EDITAR:

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

produce 10 espacios, no 20 como se esperaba cuando se imprime

lo siento, todavía soy nuevo en el formato aquí

¿Fue útil?

Solución

& amp; nbsp; es una codificación específica de HTML.

Tenía razón la primera vez: la cadena de Java que corresponde a dos espacios es simplemente dos caracteres de espacio, por ejemplo,

String s = "  ";

La llamada println () que intentó que debería funcionó. ¿Qué hiciste que te llevó a creer que se redujo a un solo espacio? Creo que tu problema está en otra parte ...

EDITAR:

Según su fragmento de código: ¿es COLUMNS 5, por casualidad? :-)

EDITAR DE NUEVO:

OK, si COLUMNS es 15, entonces este código dará como resultado r con veinte espacios añadidos. Si desea estar realmente seguro, puede pasar por un depurador o colocar una declaración de registro sobre la línea r + = para ver con seguridad cuántas veces se llama a la declaración.

También eche un vistazo a cómo se usa r más adelante antes de que su salida se imprima en el lugar que está inspeccionando; tal vez su valor se trunca en algún momento, ya sea explícitamente en Java o tal vez incluso implícitamente (como estar almacenado en una columna de base de datos que tiene 10 caracteres demasiado estrechos antes de ser recuperado y mostrado más tarde).

Otros consejos

Si desea un espacio que no se rompa en su cadena, por cualquier razón, debe usar el literal Unicode:

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

No necesita usar & amp; nbsp en Java. System.out.print (" "); debería hacer el truco. Pruebe algo como:

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

También puede crear un espacio sin interrupciones manteniendo presionada la tecla Alt y escribiendo 0160 en el teclado numérico.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top