Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3

    Classe Scanner java

    Mi potreste spiegare la differenza nella classe scanner tra
    String frase=in.next();
    e
    String frase=in.nextLine();
    ??

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    ciao


    di che stai parlando?

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3
    Guarda mi sono appena iscritta a sto sito quindi faccio un po' casino ^^
    stavo provando questo programma

    import java.util.Scanner;
    public class ScannerTest{
    public static void main(String[] args){
    Scanner in=new Scanner(System.in);
    System.out.print("Inserire altezza (valore decimale): ");
    double alt=in.nextDouble();
    System.out.print("Inserire eta' (valore intero): ");
    int eta=in.nextInt();
    System.out.print("Inserire nome (solo il primo nome) e cognome: ");
    String nome= in.next();
    String cognome=in.next();
    System.out.print("Inserire stato e citta': ");
    String stato= in.next();
    String citta= in.nextLine();
    System.out.println("Valori letti:");
    System.out.println("Eta'=" + eta + " Altezza= "+alt);
    System.out.println("Nome=" + nome + " Cognome= "+cognome);
    System.out.println("Citta'= "+citta+ " ("+stato+")");
    }
    }

    ho provato a far alcune modifiche,credevo k 'next' prendesse solo la prima parola della riga mentre 'nextLine' tutta la riga ma perchè se modifico il codice in questo modo invece,la stringa nome non solo non prende tutta la riga ma viene saltata??

    String nome=in.nextLine();
    /*String cognome=in.next(); */

    (e ovviamente tolgo '+cognome' dalla print

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    mi pare sia solo Java,

    sposto lì


  5. #5

    Re: Classe Scanner java

    Originariamente inviato da Lailyna
    Mi potreste spiegare la differenza nella classe scanner tra
    String frase=in.next();
    e
    String frase=in.nextLine();
    ??
    in.next restituisce il prossimo token sulla riga, quindi prende un token alla volta;
    in.nextLine restituisce l'intera riga.

    Ad esempio se fornisci in input la stringa "Ciao Laiylina":
    per ottenere l'intera stringa usando next() dovresti chiamarlo esattamente due volte, mentre invece se vuoi ottenere l'intera stringa usando nextLine() ti basta chiamarlo una volta.

  6. #6
    mi intrometto :P
    il problema nasce dal fatto che provando a modificare il codice leggermente ha dei comportamenti strani:

    cn questo codice
    codice:
    /*  QUESTO è L'ORIGINALE
    System.out.print("Inserire nome (solo il primo nome) e cognome: ");
    String nome= in.next();
    String cognome=in.next();
    
    */
    System.out.print("Inserire nome (solo il primo nome) e cognome: ");
    String nome= in.nextLine();
    String cognome=in.next();
    // istruzione successiva
    esegue la print, dopodichè non si mette in attesa ne per il nome ne per il cognome e passa subito alle istruzioni successive

    stando alla teoria dovrebbe leggere una riga intera per il nome (metti caso che uno abbia 2 nomi) poi leggere un singolo cognome e poi passare alla lettura successiva...

    noi stavamo cercando di capire PERCHé non fa così....

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3
    Niente,ho risolto, mi prendeva il \c
    grazieeee =)

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.