2012-02-01 21 views
16

używam następujący kod: r nie generuje podział wiersza

if (delanaloge.equals(stari)) { 
    if (novi.equals("-")) { 
      zdruzen = " -"; 
    } else { 
     zdruzen = zdruzen + " " + " - " + novi + "\r"; 
    } 
    nap = true; 
} 

\r jest dołączany do stworzenia nowej linii, ale nie generuje podział wiersza jak oczekuję. Chciałbym wygenerować wynik podobny do tego:

- 213 
- 232 
- 1321 

Jak mogę dodać podział wiersza w swoim ciągu?

+1

Może być nowa linia - \ n – adatapost

+2

Czy próbowałeś \ n? dla nowej linii zależnej od OS użyjesz String osNewLine = System.getProperty ("line.separator"); – breezee

+0

Próbuję \ n jest taki sam i \ r \ n też. To nie jest jak przycisk Enter. – senzacionale

Odpowiedz

51

można użyć to:

public static String newline = System.getProperty("line.separator"); 
+0

Awesome! Działa w oknach dialogowych systemu Android;) – jasonflaherty

+0

dziękuję, dobrze wiedzieć, Java wydaje się konsekwentnie podążać za tym na wszystkich platformach :) – wuppi

0

spróbować użyć \ r \ n, w niektórych przypadkach \ n zadziała (lub każdy przypadek) .. po prostu spróbować zarówno :)

+0

Próbuję \ n jest taki sam i \ r \ n też. To nie jest jak przycisk Enter. – senzacionale

8

Nowe kombinacje znaków linia waha się od systemu operacyjnego. Windows to \r\n, Linux to \n, a MacOS to \r.

Wypróbuj te, które pasują do Twojego środowiska programistycznego.

1

Spróbuj tego:

if (delanaloge.equals(stari)) { 
    if (novi.equals("-")) { 
     zdruzen = " -"; 
    } else { 
     zdruzen = zdruzen + " - " + novi + System.getProperty("line.separator"); 
    } 
    nap = true; 
} 
+0

to jest dobry pomysł, ale - i wtedy nowa linia nie jest taka sama, jak w przypadku etykietowania z użyciem słów kluczowych. Próbuję tworzyć etykiety – senzacionale

0

W JTextPane i inne akcesoria tekstowe \n wystarcza i wydaje się dobrym wyborem. W systemie Windows dokument wewnętrznie przechowuje \r\n, więc pozycje dokumentów i indeksy getText() nie są równe. System.getProperty("line.separator") jest bardziej poprawny, ale \n jest tak uniwersalny.

0

Użyj \ n do łamania linii podczas drukowania ciągu.

if (delanaloge.equals(stari)) { 
if (novi.equals("-")) { 
     zdruzen = " -"; 
} else { 
    zdruzen = zdruzen + " " + " - " + novi + "\n"; 
} 
nap = true; 
} 
0

Trochę z życia maszyn typowania -

  • \ R jest powrót karetki i powinien wrócić do początku wiersza.
  • \ n to nowy wiersz wprowadzania i tworzy nowy wiersz.

Dla systemów Windows \ r \ n jest typową nową linią - i działa jak na maszynie do pisania - powrót karetki, a następnie nowa linia.

Dla systemów opartych na systemie Linux skrócono go do \ n. Ale "\ n" jest zwykle rozpoznawany przez większość programów.

Powiązane problemy