Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    46

    [Java]Lettura con Scanner

    Ciao a tutti. Sto scrivendo un programmino x l'uni.... Devo inserire dei dati da tastiera che devono essere dei numeri interi. Per controllare se non sono interi ho messo la verica
    if (!nomeScanner.hasNextInt()) ,e se non lo sono chiedo di reinserire un intero. Ma se non inserisco niente e schiaccio invio il programma non va più, nel senso che nella riga di comando mi va a capo e poi nn prende altri dati. Sapete dirmi come controllare anche che non si è inserito niente? Spero di essermi spiegato bene. Grazie!

  2. #2
    Che c'entra lo scanner ?
    Hai sbagliato sezione

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    46
    Scanner è una classe di Java. Serve x leggere i dati da input! Piuttosto ho sbagliato mettendo il post in Programmazione e non in Java, chiedo scusa ma credevo di aver cliccato su Java!! Se si potesse spostare....TNX

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Ti sposto sul sub-forum dedicato a Java.


    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

  5. #5

    Re: [Java]Lettura con Scanner

    Originariamente inviato da Realman
    Per controllare se non sono interi ho messo la verica
    if (!nomeScanner.hasNextInt()) ,e se non lo sono chiedo di reinserire un intero. Ma se non inserisco niente e schiaccio invio il programma non va più, nel senso che nella riga di comando mi va a capo e poi nn prende altri dati. Sapete dirmi come controllare anche che non si è inserito niente? Spero di essermi spiegato bene. Grazie!
    Credo che puoi fare così:
    codice:
    Scanner s = new Scanner( System.in );
    while ( !s.hasNextInt() )
    {
      s = new Scanner( System.in );
      System.out.println( "Inserisci un intero" );
    }
    Ciao,

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Re: [Java]Lettura con Scanner

    Originariamente inviato da interarete
    Credo che puoi fare così:
    codice:
    Scanner s = new Scanner( System.in );
    while ( !s.hasNextInt() )
    {
      s = new Scanner( System.in );
      System.out.println( "Inserisci un intero" );
    }
    Pessima idea, secondo me, creare ogni volta un nuovo scanner.

    Ecco un semplice metodo riutilizzabile:
    codice:
    public static int promptInt (Scanner sc, String prompt)
    {
        while (true) {
            System.out.print (prompt);
            try {
                return Integer.parseInt (sc.nextLine ());
            } catch (NumberFormatException nfe) { }
        }
    }
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.