Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di el92
    Registrato dal
    Dec 2014
    Messaggi
    177

    [java]strani simboli in esecuzione

    Ciao sto imparando da poco java ed eseguendo il seguente problema, il compilatore, in esecuzione, mi dà un errore che non ho mai visto.
    Il problema è:
    leggi l'input da un file specificato come argomento sulla linea di comando e stampane il contenuto(con eccezione FileNotFoundException non trattata).
    il mio procedimento è:
    codice:
    import java.io.*;
    import java.util.*;
    class Filea{
    public static void main(String[] args) throws FileNotFoundException{
            
            File f=new File("in.txt");
            Scanner sc=new Scanner(f);
            System.out.println(sc);
            int k=0;
            while(sc.hasNextLine()){
                String g=sc.nextLine();
                System.out.println(g);
                k++;
        }
    }
    }
    il compilatore esegue il programma correttamente, ma mi dà il seguente errore:
    codice:
    java Filea in.txt
    java.util.Scanner[delimiters=\p{javaWhitespace}+][position=0][match valid=false][need input=false][source closed=false][skipped=false][group separator=\.][decimal separator=\,][positive prefix=][negative prefix=\Q-\E][positive suffix=][negative suffix=][NaN string=\Q�\E][infinity string=\Q∞\E]
    pera
    mela pesca
    uva
    Cosa vogliono dire?
    Ultima modifica di el92; 29-01-2015 a 14:17

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da el92 Visualizza il messaggio
    codice:
            Scanner sc=new Scanner(f);
            System.out.println(sc);
    java.util.Scanner[delimiters=\p{javaWhitespace}+][position=0][match valid=false][need input=false][source closed=false][skipped=false][group separator=\.][decimal separator=\,][positive prefix=][negative prefix=\Q-\E][positive suffix=][negative suffix=][NaN string=\Q�\E][infinity string=\Q∞\E]
    Il punto è che stai stampando il String dal toString() di Scanner, in pratica le informazioni nei field dentro lo Scanner. Cosa che è poco utile a livello pratico ... a parte per debugging o verifiche "estreme". Per i dettagli di cosa sono quei campi ..... basta guardare il sorgente di Scanner.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    PS: il compilatore non esegue nulla... il compilatore (javac), compila.
    Chi esegue è l'esecutore (java), cioè l'implementazione della JVM.

    E' bene avere chiaro fin da subito questi "dettagli": compilazione ed esecuzione sono due fasi completamente distinte.

    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. #4
    Utente di HTML.it L'avatar di el92
    Registrato dal
    Dec 2014
    Messaggi
    177
    Ok grazie 1000 x le risposte gentilissimi

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.