Zeichen wird nicht richtig angezeigt im Java
Habe ich versucht "
", um zwei Räume in einer standard-Ausgabe Java-String. Versuchen System.out.println("__");
<---- (zwei Räume, aber, offensichtlich, es trimmt ihn nach unten zu einem Raum, daher der Unterstrich)
Ich kann mir vorstellen, es ist ein Weg, um zu entkommen die
, aber ich kann es nicht herausfinden, noch finden die online-Hilfe. Suche nach es ist ironisch, weil eine Menge von literalen
zeigen.
Jede mögliche Hilfe würde geschätzt.
EDIT:
for (int j = 0; j < COLUMNS; j++)
if (j < 10){
r += "__";
}
erzeugt 10 Leerzeichen, nicht 20, wie erwartet, wenn Sie gedruckt
sorry ich bin noch neu bei der Formatierung hier
- Ist SPALTEN == 10? Ansonsten, das sollte gut funktionieren.
- SPALTEN = 15. Das ist, was ich nicht bekommen. Ich werde zu Debuggen und zu achten. Danke für die Hilfe so weit jeder.
- r nicht abgeschnitten ist, in irgendeiner Weise, und die zwei Leerzeichen IMMER ausgegeben, als ein. Da dies nicht mein code, ich fühle mich verpflichtet, an dieser Stelle diese Frage mit dem Entwickler, dass es gehört. Vielen Dank für alle Hilfe, die versuchen, um dies herauszufinden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
ist eine HTML-spezifische Codierung.Waren Sie right-first-time - Java-string entspricht zwei Räume ist einfach zwei Leerzeichen, z.B.
Die println () - Aufruf, dass Sie versucht sollte gearbeitet zu haben. Was haben Sie gemacht, der Sie veranlasst, zu glauben, es wurde gekürzt, um einen einzigen Raum? Ich glaube, dein problem liegt woanders...
EDIT:
Basierend auf Ihrem code-snippet - ist
COLUMNS
5, durch Zufall? 🙂BEARBEITEN WIEDER:
OK, wenn SPALTEN ist 15 dann dieser code führt
r
mit zwanzig Leerzeichen angehängt. Wenn du möchten wirklich sicher sein, können Sie entweder Schritt für Schritt durch in einen debugger oder ein logging-Anweisung oberhalb derr +=
Linie, um sicher zu sehen, wie oft die Anweisung aufgerufen wird.Haben auch einen Blick auf, wie
r
wird verwendet, später, vor seiner Ausgabe der Ort, den Sie sind Inspektion, vielleicht seinen Wert abgeschnitten wird irgendwann entweder explizit in Java, oder vielleicht sogar implizit (z.B. gespeichert in einer Datenbank-Spalte, die 10 Zeichen zu schmal, bevor Sie abgerufen und angezeigt später).Wenn Sie möchten, eine non-breaking space in Ihrem string, aus welchem Grund auch immer, müssen Sie die Unicode-literal:
Müssen Sie nicht verwenden,   in Java.
System.out.print(" ");
sollte den trick tun. Probieren Sie etwas wie:Können Sie auch erstellen Sie eine non-breaking space mit gedrückter Alt-Taste und Eingabe 0160 auf dem Ziffernblock.