RISOLTO [Java] il metodo che è richiamato in un'altra classe si blocca

Pubblicità
Stato
Discussione chiusa ad ulteriori risposte.

Manu999

Nuovo Utente
Messaggi
12
Reazioni
4
Punteggio
22
Ciao a tutti, ho un piccolo problema facendo questo programmino, praticamente dentro un metodo viene eseguito un do-while, dentro questo do-while dopo la verifica del numero preso in input dopo la domanda "vuoi continuare" il metodo che è richiamato in un'altra classe si blocca, impedendomi di inserire la stringa si o no, vi metto qui il codice:

Codice:
public class Computatore {
    Scanner scan = new Scanner(System.in);
 
    public void PariDispari()
    {
    String a;
        do
        {
            System.out.println("inserire il valore");
            int v = scan.nextInt();
            if(v % 2 == 0)
            {
                System.out.println("il valore è pari");
            }
            else if(v % 2 != 0)
            {
                System.out.println("il sistema è dispari");
            }
        
         System.out.println("vuoi continuare?");
          
             a = scan.nextLine();
        }while(a.equals("si"));
    }
}

Ringrazio in anticipo chi risponderà.
 
Ultima modifica da un moderatore:
Ciao a tutti, ho un piccolo problema facendo questo programmino, praticamente dentro un metodo viene eseguito un do-while, dentro questo do-while dopo la verifica del numero preso in input dopo la domanda "vuoi continuare" il metodo che è richiamato in un'altra classe si blocca, impedendomi di inserire la stringa si o no, vi metto qui il codice:

Codice:
public class Computatore {
    Scanner scan = new Scanner(System.in);
 
    public void PariDispari()
    {
    String a;
        do
        {
            System.out.println("inserire il valore");
            int v = scan.nextInt();
            if(v % 2 == 0)
            {
                System.out.println("il valore è pari");
            }
            else if(v % 2 != 0)
            {
                System.out.println("il sistema è dispari");
            }
       
         System.out.println("vuoi continuare?");
         
             a = scan.nextLine();
        }while(a.equals("si"));
    }
}

Ringrazio in anticipo chi risponderà.
Quale è il metodo? Non capisco
 
A parte che se non è pari è per forza dispari quindi non serve il secondo if. Poi il "sistema" è dispari?
Quand'è che lo scanner viene istanziato? Crei un'istanza della classe Computatore e poi chiami il metodo PariDispari?
Fai istanziare lo scanner all'inizio del metodo. Se serve in altri metodi lo farai anche la.
Poi quando hai roba che può andar male tipo lo scanner usa il try catch per beccare l'errore.
 
Ultima modifica:
Ti ringrazio gentilissimo
--- i due messaggi sono stati uniti ---
A parte che se non è pari è per forza dispari quindi non serve il secondo if. Poi il "sistema" è dispari?
Quand'è che lo scanner viene istanziato? Crei un'istanza della classe Computatore e poi chiami il metodo PariDispari?
Fai istanziare lo scanner all'inizio del metodo. Se serve in altri metodi lo farai anche la.
Poi quando hai roba che può andar male tipo lo scanner usa il try catch per beccare l'errore.
Ti ringrazio per la risposta, poi ho risolto, avevo sbagliato alla fine nella parentesi dentro il while, invece di String ho utilizzato char, per quello che devo fare mi va bene anche char, questo forum mi piace proprio per questi confronti che ti fanno riflettere ed accorgere delle distrazioni
--- i due messaggi sono stati uniti ---
Si, dovresti condividere la classe main dove avvii il programma
Ti ringrazio per la disponibilità poi ho già risolto
 
Ultima modifica:
Stato
Discussione chiusa ad ulteriori risposte.
Pubblicità
Pubblicità
Indietro
Top