Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    106

    [JAVA] token

    Scusatemi ho inserito un post poche ore fa ma non riesco a rimuoverlo.
    Comunque ora il mio problema riguardata la StringTokenizer. Ho una stringa composta da spazi , caratteri, numeri, parole...riesco a prendere i vari token ma non riesco a salvarmeli come int se il token è un intero, String seè una stringa, ecc. perchè vengono visti tutti come oggetti di tipo String. Ho provato ad usare l' instanceof ma in ogni caso mi vede tutti i token come String. Come posso fare? Se trovo un int voglio salvarlo come un int!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    dove devi salvarli?
    RTFM Read That F*** Manual!!!

  3. #3
    è normale e giusto, visto che tu analizzi una string.

    se non hai una struttura da seguire, direi che l'unico modo che hai da fare è "provare" il cast e se genera eccezioni catturarle e passare alla tipologia successiva

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    il punto è che se deve salvare su un file, quello che vede è comunque una stringa se lo vede come txt, in caso contrario un array di byte, ma passando su file non mantiene info sul tipo.
    Per questo mi interessa capire dove deve salvare

    ps la soluzione prova il cast è orrenda, trovo più appropriato un parse tramite regex e agire senza mettere in mezzo il meccanismo delle eccezioni. Usare una eccezione come meccanismo di controllo del tipo va al di fuori della logica dell'eccezione. Tutta la gestione delle eccezioni nasce per riprendersi da condizioni anomale, non per regolare il normale flusso di esecuzione. Senza contare che lanciare una eccezione per poi catcharla subito, skippare la riga e parsare la successiva non è il massimo dell'efficienza!
    RTFM Read That F*** Manual!!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    106
    praticamente se nella stringa da analizzare trovo un intero devo metterlo dentro a un vettore d'interi , senno in un vettore di stringhe.
    Il metodo dei cast potrebbe funzionare pero' secondo voi esiste altro? Cambiando anche l'approccio (non usando la StringTokenizer). Contate che parto sempre da un file che contiene stringhe e interi.

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    beh ti consiglio l'uso di regex per capire di che tipo parli (non ti interessa segnalare una anomalia, ma solo smistare). Oltretutto in questo caso per identificare solo numeri e/o solo lettere è molto semplice.
    Resta da capire come ti comporti con stringhe del tipo "modifia2"
    RTFM Read That F*** Manual!!!

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    106
    perfetto andrò a vedermi java.util.regex...infatti noto che mi servirà successivamente...difatti(problema che volevo affrontare dopo) io posso prendere 2 tipi di file da analizzare:- file.txt - da un url. Per "scaricare" tutta la pagina che do come input (ovviamente togliendo successivamente i tag)cosa posso fare? Ho usato qualche classe ma non ho risolto un cavolaccio! hai una classe da consigliarmi?

  8. #8
    Originariamente inviato da valia ps la soluzione prova il cast è orrenda, trovo più appropriato un parse tramite regex e agire senza mettere in mezzo il meccanismo delle eccezioni. Usare una eccezione come meccanismo di controllo del tipo va al di fuori della logica dell'eccezione. Tutta la gestione delle eccezioni nasce per riprendersi da condizioni anomale, non per regolare il normale flusso di esecuzione. Senza contare che lanciare una eccezione per poi catcharla subito, skippare la riga e parsare la successiva non è il massimo dell'efficienza!
    hai perfettamente ragione, in effetti mi sono espresso male. intendevo dire prova con qualcosa in stile cast e gestione delle eccezioni. ovviamente non mi sognerei mai di usare le eccezioni come sistema di "verifica".

    avrei indirizzato più su una analisi ricorsiva della stringa in esame e dei metodi isDigit, oppure con confronto col codice ascii...la mia era solo una idicazione stradale sbagliata

    non conosco java.util.regex quindi non sò che fà...andrò a leggermelo

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    beh anche quelle sono soluzioni valide, ma diciamo che guadagni un po' in efficienza se scrivi bene la regex (non fai tu il parse manuale).
    Non prenderei l'ASCII perché ti leghi ad una codepage, tecnicamente se vuoi da una stringa la rappresentazione in byte sarebbe sempre meglio usare
    codice:
    stringa.getBytes(CODEPAGENAME);
    ma qui usciamo dal seminato e dal topic del thread
    RTFM Read That F*** Manual!!!

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.