Risultati da 1 a 2 di 2
  1. #1
    Il Puppies L'avatar di Zen-Zen
    Data Registrazione
    01-06-05
    Località
    Sotto al satellite.
    Messaggi
    761

    Predefinito Leggere parola per parola fino a fine riga in Java

    Buondì, mi sto incasinando su questo problema:

    devo leggere da input di tastiera una cosa del tipo "add 1 2 3 ..."
    dove i ... indicano che non so a priori quanti numeri inserirà l'utente, quello che devo voglio fare è inserire ogni parola letta in un arraylist, quindi in posizione 0 avrò add, in posizione uno 1, e così via...

    ho provato a usare la classe Scanner e i metodi Next() e NextLine, ma facendo:

    while(!((input = tastiera.next()).equals("\n"))){
    operazione.add(input);
    }

    quando poi vado a eseguire il codice, mi rimane in attesa di input all'infinito... certo, se usassi "fine" al posto di "\n" la cosa funziona, ma io vorrei evitarlo...come faccio a fargli capire che una volta che ho scritto "add 1 2 3 4 ..." tutto in un un'unica riga e premuto invio non deve più stare in attesa di altro input?

  2. #2
    Il Puppies L'avatar di MscG
    Data Registrazione
    15-09-01
    Località
    Monti abruzzesi
    Messaggi
    777

    Predefinito Re: Leggere parola per parola fino a fine riga in Java

    Codice:
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    String line;
    while((line = in.readLine()) != null && !line.trim().isEmpty()) {
        String parts[] = line.split(" ");
        ... fai qualcosa con i pezzi della riga ...
    }
    In questo modo, se digiti CTRL+Z (mi pare sia questo) oppure se immetti una stringa vuota o fatta di soli spazi esci dal ciclo.

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice HTML è Disattivato