Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    41

    [JAVA] String buffer per "giustificare" una linea?

    Ciao a tutti, ho un progetto Console in java, nella quale leggo in input un file, e ne scrivo un altro in output ma con il testo giustificato. Il problema è che con uno StringTokenizer riesco a scrivere una riga di max 40 caratteri (ad esempio) facendo così: Leggo parola per parola il file di testo preso in input, ed aggiungo una parola alla volta in una nuova stringa. Se aggiungendo la nuova parola supero i 40 caratteri, vado a capo ed aggiungo la nuova parola. Facendo così ovviamente non giustifico il testo, perchè ogni riga finirà prima del 40 carattere.
    Quindi il mio problema è: Come posso aggiungere un numero di spazi giusto in modo da far finire ogni riga al 40 carattere? Mi hanno suggerito l'uso di uno string buffer ma non so come fare.
    Come potrei agire?

    Grazie a tutti.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Prima cosa: guardare cosa fa StringBuffer e come può tornarti utile.
    StringBuffer API

    Da qui deduci che StringBuffer è un contenitore.
    Tu hai stringhe a lunghezza fissa, devi creare un metodo che fa il padding (riempie a blank i caratteri non specificati).
    Avrai un metodo del tipo

    codice:
    public String insertPadding (String input, String pad, int sizeDesidered){
        StringBuffer buffer = new StringBuffer(); 
    // completa tu la logica
       return buffer.toString();
    Il tokenizer al contrario serve a spezzettare una stringa, in sottostringhe
    RTFM Read That F*** Manual!!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    41
    Originariamente inviato da valia
    Prima cosa: guardare cosa fa StringBuffer e come può tornarti utile.
    StringBuffer API

    Da qui deduci che StringBuffer è un contenitore.
    Tu hai stringhe a lunghezza fissa, devi creare un metodo che fa il padding (riempie a blank i caratteri non specificati).
    Avrai un metodo del tipo

    codice:
    public String insertPadding (String input, String pad, int sizeDesidered){
        StringBuffer buffer = new StringBuffer(); 
    // completa tu la logica
       return buffer.toString();
    Il tokenizer al contrario serve a spezzettare una stringa, in sottostringhe
    Grazie per la risposta.
    Ma con questo metodo riesco a "giustificare" una stringa? Se si, potresti darmi un ulteriore mano?
    Supponendo che ho:
    codice:
    String s = "Ciao, io sono una stringa da giustificare";
    String c = "Anche io! Che coincidenza!";
    Come faccio a giustificare queste 2 stringhe in automatico? (ho diverse stringhe,ognuna delle quali di lunghezza diversa)

    Se mi potresti aiutare mi faresti davvero un grosso piacere.
    Grazie ancora!

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Originariamente inviato da Catez
    Se mi potresti aiutare mi faresti davvero un grosso piacere.
    Grazie ancora!
    Ti ho scritto la signature del metodo, ti ho detto quale API sto usando (suggerendoti anche un eventuale modo di risolvere il problema), ti ho detto come funziona la logica, fare le cose per gli altri non è l'obiettivo del forum.
    RTFM Read That F*** Manual!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.