Domanda do while con string

W4sp

Utente Iron
7 Novembre 2019
19
4
3
19
Salve,
dovrei eseguire un input di una stringa all'interno di un ciclo do while andando a riassegnare il valore di essa più volte, al primo giro è tutto ok, ma dal secondo in poi l'input viene saltato dal programma, e il valore della stringa viene considerato nullo.
Grazie
 
Ultima modifica da un moderatore:
Java:
package pP;

import java.util.Scanner;

public class P {

    public static void main(String[] args) {
        String f;
        char condizione;
        Scanner tastiera = new Scanner (System.in);
        do {
            System.out.println("inserisci");
            f = tastiera.nextLine();
            System.out.println(f);
            System.out.println("cc");
            condizione = tastiera.next().charAt(0);
        } while (condizione == 's');
        tastiera.close();

    }

}
ps: non è il codice che devo fare, solo un piccolo codice fatto molto velocemente per mostrare il problema.
Grazie
 
Scusa ma non ho capito qual è il problema...
In questo caso se il ciclo termina è perchè la condizione non viene soddisfatta, ovvero che "il primo carattere letto della stringa deve essere 's'".
 
quando viene dato il valore di 's' alla condizione, al ciclo successivo non si ferma all'input della stringa, essa viene considerata nulla e restituisce direttamente l'output di "cc".
Grazie.
 
È dovuto al token che viene letto. Se non ricordo male era necessario richiamare il metodo useDelimiter("\r\n"). In pratica setti come token il tasto invio (carriege return, new line).
Prova, dovrebbe funzionare poi.