2012-02-01 6 views
16

Io uso il seguente codice: r non genera un'interruzione di linea

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

\r viene aggiunto per creare un'interruzione di riga, ma non genera un'interruzione di linea, come mi aspetto. Vorrei generare un risultato simile a questo:

- 213 
- 232 
- 1321 

Come posso aggiungere un'interruzione di riga nella mia stringa?

+1

Potrebbe essere newline - \ n – adatapost

+2

hai provato '\ n'? per la nuova linea os dipendente si usa String osNewLine = System.getProperty ("line.separator"); – breezee

+0

provo \ n è lo stesso e anche \ r \ n. Non è come il pulsante di invio – senzacionale

risposta

51

è possibile utilizzare questo:

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

Impressionante! Funziona nelle finestre di dialogo di Android;) – jasonflaherty

+0

grazie, buono a sapersi, Java sembra seguire conseguentemente questo su tutte le piattaforme :) – wuppi

0

tenta di utilizzare \ r \ n, in alcuni casi \ n funzionerà (o tutti i casi) .. solo provare entrambi :)

+0

provo \ n è lo stesso e anche \ r \ n. Non è come inserire il pulsante – senzacionale

8

Nuove combinazioni di caratteri linea variano tra OS. Windows è \r\n, Linux è \n e MacOS è \r.

Prova qualunque sia il tuo ambiente di sviluppo.

1

Prova questa:

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

questa è una buona idea ma - e quindi la nuova riga non è la stessa cosa che se si fa l'etichettatura dei clic. Provo a fare etichettatura – senzacionale

0

In JTextPane e altri componenti di testo \n suffissi e sembra una buona scelta. Su Windows il documento internamente memorizza \r\n quindi le posizioni del documento e gli indici getText() non sono uguali. System.getProperty("line.separator") è più corretto, ma \n è così universale.

0

Utilizzare \ n per rompere la linea nella stampa della stringa.

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

Un po 'dalle macchine di battitura età -

  • \ r è il ritorno a capo e dovrebbe tornare alle origini di linea.
  • \ n è la nuova linea che si alimenta e crea la nuova linea.

Per i sistemi Windows \ r \ n è una tipica nuova linea - e funziona come sulla macchina da scrivere - ritorno a capo, quindi nuova linea.

Per i sistemi basati su Linux è stato ridotto a solo \ n. Ma "\ n" è normalmente riconosciuto dalla maggior parte dei programmi.

Problemi correlati