Pagina 2 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 33
  1. #11
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    347
    si ma non conoscendolo non so come si usa ne qual'è la funzione XD da come l'hai detto sembra piuttosto facile, ma dove lo dovrei inserire?(è questo che non capisco) e come faccio poi a "scartare" il risultato se l'utente inserisce un decimale?

  2. #12
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    347
    si ma non conoscendolo non so come si usa ne qual'è la funzione XD da come l'hai detto sembra piuttosto facile, ma dove lo dovrei inserire?(è questo che non capisco) e come faccio poi a "scartare" il risultato se l'utente inserisce un decimale?

  3. #13
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Per conoscere tutti i metodi che una classe mette a disposizione c'è la documentazione. La documentazione della classe Scanner elenca tutti i metodi che tale classe espone e che puoi usare.

    Come si usa? Esattamente come un qualunque altro metodo.

    nextInt() è un metodo che ritorna un int.
    nextLine() è un metodo che ritorna un String
    hasNextInt() è un metodo che ritorna un boolean.

    codice:
    if ( read.hasNextInt() ) {
       // L'utente ha inserito un intero
    } else {
       // L'utente NON ha inserito un intero
    }
    Come si scarta l'input? Te l'ha già detto andbin: si usa un next() a vuoto:

    codice:
    // Scarto l'attuale input dello scanner
    read.next();
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #14
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    347
    e se associassi ad n il valore di hasnextInt? e poi dicessi: do{ chiedi un numero
    }while(n = false)

  5. #15
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    La variabile "n" del tuo primo codice è intera, non booleana... non può, quindi, ricevere valori booleani.

    Ad ogni modo, il test per verificare se l'utente ha effettivamente inserito un intero oppure no va fatto prima di assegnare alla variabile intera il valore indicato dall'utente... altrimenti otterrai un'eccezione nel caso in cui il valore sia stato inserito in modo errato.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #16
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da John360
    e se associassi ad n il valore di hasnextInt? e poi dicessi: do{ chiedi un numero
    }while(n = false)
    Sì anche. (nota: n == false)

    In base al ritorno di hasNextInt():
    - se true: invochi nextInt() e hai l'intero ed esci dal ciclo.
    - se false: invochi next() (butta il token) e ripeti il ciclo.
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  7. #17
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    347
    ah si certo... e quindi l'if devo inserirlo dentro al while?

  8. #18
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    347
    mi state confondendo XD posso farlo o no quello che ho detto??

  9. #19
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da John360
    mi state confondendo XD posso farlo o no quello che ho detto??
    Le possibilità sono due: o per uscire dal ciclo fai un break; (e la condizione del ciclo è fissa a true), oppure tieni in una variabile booleana il ritorno di hasNextInt e nella condizione del ciclo lo testi.
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  10. #20
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    347
    cioè così??:
    codice:
    import java.util.*;
    public class Fattoriale{
    	public static void main(String args[]){
    		Scanner read = new Scanner(System.in);
    		int n;
    		System.out.println("__CALCOLO DEL FATTORIALE__");
    		do{
    		System.out.println("Inserire un numero intero positivo");
    		boolean m = hasnextInt();
    		if(m == true)
    			n = read.nextInt();
    		}
    		while(n < 0);
    		int fattoriale=1;
    		for(int i=n; i >= 1; i--){
    			fattoriale = i * fattoriale;
    		}
    		System.out.println(n+"!=" + fattoriale);
    	}
    }
    però mi da un errore quando compilo: dice che non riesce a trovare il simbolo(?) hasnextInt

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 © 2026 vBulletin Solutions, Inc. All rights reserved.