Frage

Ich habe versucht "&nbsp;&nbsp;"auf, um zwei Räume in einem standard-Ausgabe-Java-String.Versuchen System.out.println("__"); <---- (zwei Räume, aber, natürlich, es trimmt es hinunter zu einem Raum, daher der Unterstrich)

Ich kann mir vorstellen, es ist ein Weg, um zu entkommen die &nbsp;,, aber ich kann es nicht herausfinden, noch finden die online-Hilfe.Auf der Suche für Sie es ist ironisch, weil eine Menge von literalen &nbsp;&nbsp; show up.

Jede Hilfe würde geschätzt werden.

EDIT:

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

produziert 10 Räumen, nicht 20, wie zu erwarten, wenn Sie gedruckt

sorry, ich bin noch neu bei der Formatierung hier

War es hilfreich?

Lösung

&nbsp; ist eine HTML-spezifische Kodierung.

Sie waren beim ersten Mal richtig -. Der Java-String, der zwei Räume entspricht, ist einfach zwei Leerzeichen, z

String s = "  ";

Die println () aufrufen, dass Sie versucht haben, sollte gearbeitet haben. Was hast du das du geführt wurde abgespeckte zu einem einzigen Raum zu glauben? Ich denke, Ihr Problem an anderer Stelle ist ...

EDIT:

Basierend auf Ihrem Code-Schnipsel - ist COLUMNS 5, durch Zufall? : -)

Erneut bearbeiten:

OK, wenn SäULEN 15 ist, dann wird dieser Code führt in r mit zwanzig Räumen angehängt. Wenn Sie wirklich sicher sein wollen, können Sie entweder in einem Debugger Schritt durch oder eine Logging-Anweisung über der r += Linie sicher zu sehen gesetzt, wie oft die Anweisung aufgerufen wird.

Haben Sie auch einen Blick auf wie r verwendet wird später vor seinem Ausgang an den Ort gedruckt wird Sie Inspektion; vielleicht sein Wert wird an einem gewissen Punkt abgeschnitten, entweder explizit in Java oder vielleicht sogar implizit (wie in einer Datenbankspalte gespeichert werden, die 10 Zeichen zu schmal ist, bevor später abgerufen und angezeigt werden).

Andere Tipps

Wenn Sie möchten, dass ein non-breaking Raum in Ihrem string, aus welchem Grund auch immer, Sie haben zu verwenden Sie den Unicode-literal:

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

Sie brauchen nicht zu verwenden & nbsp in Java. System.out.print(" "); sollte es tun. Versuchen Sie so etwas wie:

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

Sie können auch einen non-breaking Speicherplatz frei, indem Sie die Alt-Taste gedrückt halten und 0160 auf dem Ziffernblock eingeben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top