Visualizzazione dei risultati da 1 a 7 su 7

Discussione: File log

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2014
    residenza
    Cantalupa (TO)
    Messaggi
    24

    File log

    Non riesco a trovare un modo per far funzionare questo frammento di codice. Vorrei iterare fino a che trovo la stringa "-end-" all'interno della stringa che l'utente ha inserito. Cosa devo scrivere all'interno del while?

    codice:
    String testo;
    System.out.println("Inserisci il testo del log, per terminare la scrittura del testo scrivi: -end- ");
    do {
    testo = buffer.nextLine();
    pw.println(testo);
    }while(...);
    la variabile pw è un istanza di PrintWriter

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Ankarir Visualizza il messaggio
    Vorrei iterare fino a che trovo la stringa "-end-" all'interno della stringa
    Che la stringa sia esattamente uguale a "-end-" o ... che la stringa contenga una sottostringa "-end-" ? (faccio sotto l'esempio con la comparazione esatta).

    Quote Originariamente inviata da Ankarir Visualizza il messaggio
    Cosa devo scrivere all'interno del while?
    } while (!testo.equals("-end-"));

    che vuol dire: ripeti se il testo non è "-end-"

    Così come hai scritto il corpo del do-while però stamperesti anche -end- quando viene inserito. Se non lo vuoi, racchiudi il println in un if con la stessa condizione che ho indicato.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2014
    residenza
    Cantalupa (TO)
    Messaggi
    24
    Intendevo che la stringa contenga una sottostringa "-end-". Non saprei come fare, se ci sono dei metodi "leggeri" sono apertissimo a soluzioni, sennò pensavo di fare come hai scritto nell'ultima parte del tuo messaggio.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Ankarir Visualizza il messaggio
    Intendevo che la stringa contenga una sottostringa "-end-".
    Da Java 5, String ha il metodo:
    public boolean contains(CharSequence s)

    Se ti serve compatibilità pre-Java 5, String ha anche:
    public int indexOf(String str)
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2014
    residenza
    Cantalupa (TO)
    Messaggi
    24
    Avevo provato ad usare contains ma non aveva funzionato, forse avevo scritto male la condizione non conoscendo bene CharSequence. Grazie comunque

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Ankarir Visualizza il messaggio
    Avevo provato ad usare contains ma non aveva funzionato, forse avevo scritto male la condizione non conoscendo bene CharSequence.
    Di base basta sapere che CharSequence è una interfaccia che "accomuna" le varie classi che rappresentano "una sequenza di caratteri". E String ma anche es. StringBuffer la implementano.

    Quindi la condizione semplicemente: !testo.contains("-end-")
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2014
    residenza
    Cantalupa (TO)
    Messaggi
    24
    Ok perfetto! Grazie ancora gentilissimo

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.