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

    StringTokenizer con file i testo

    Ciao devo scrivere un porgramma che legga da file tutte le righe nel suegente formato:
    05.02.2011 12:50 incontro con enrico
    03.10.2014 13:40 incontro di lavoro
    11.12.2016 09:00 incontro con enrico

    e che memorizzi in data,ora e descrizione i token letti dai file di testo...che poi successivamente confronterò tra di loro utilizzando con l'interaccia Comparable(che io non ho implementato xkè gia non mi viene la lettura del file).

    codice:
    import java.io.*;
    import java.util.*;
    
    class Agenda{
    int data,ora;
    String descrizione;
    Agenda(String nomefile){    
        try{
            FileReader r=new FileReader("appunt.txt");
            BufferedReader t=new BufferedReader(r);
            String h;String k="";
            while((h=t.readLine())!=null){
    k+=h;
    }
    StringTokenizer tokens = new StringTokenizer(k," ");
        while (tokens.hasMoreTokens()) {
           data= Integer.valueOf(tokens.nextToken());
    ora=Integer.valueOf(tokens.nextToken());
    descrizione=tokens.nextToken();
    }    
     }catch (IOException e){
         System.out.println("errore"); 
    }
    }
    public String toString(){
        return ""+data+ora+descrizione;
    }
    public static void main(String[] args){
        Agenda a=new Agenda("appunt.txt");
        System.out.println(a);
    }
    }
    Ho utilizzato string tokenizer sugli spazi...voglio quindi che mi stampi data ora e descrizione...ma quando eseguo il programma mi da un errore:java.lang.NumberFormatException: For input string: "05.02.2011"..ma xkè visto che io ho chiesto di estrerre toke in base a spazi?
    Ultima modifica di el92; 21-03-2016 a 21:44

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    Quote Originariamente inviata da el92 Visualizza il messaggio
    ma xkè visto che io ho chiesto di estrerre toke in base a spazi?
    Ma infatti la parte corrispondente della stringa viene presa correttamente, la stringa "05.02.2011" è relativa alla prima data come voluto.

    Il messaggio d'errore è abbastanza chiaro in realtà: la stringa "05.02.2011" naturalmente non può essere trasformata in un intero, la devi rappresentare con un altro tipo o al massimo suddividere ulteriormente la data in giorno,mese e anno (che possono essere interi).

    Ma perché non usare java.util.Date ?

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.