Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di angelo85ct
    Registrato dal
    Dec 2007
    Messaggi
    322

    Chi mi puo aiutare a comprendere questo pezzo di codice??

    Salve ragazzi, non ho capito bene cosa fa questo pezzo di codice:

    Codice PHP:
    public Stazioni(){
       
    //caricamento informazioni dal file 
        
    try{
          
        
    BufferedReader f = new BufferedReader(new FileReader("valori.txt"));
        
    String s;
          
        while((
    f.readLine()) != null){
         
    STAZIONI.add(new stazione(stazione.tipo_stazione.valueOf(s),Float.parseFloat(f.readLine()))); 
        }
        
        
    f.close();
        
        }catch(
    FileNotFoundException fnf){
          
    System.out.println("File non trovato");
          
    System.exit(1);
        }catch(
    IOException ioe){
          
    System.out.println("Errore di IO");
          
    System.exit(1);
        }
        
      }

    lass stazione{
      
    enum tipo_stazione MARITTIMATERRESTREAEREA };
      
    tipo_stazione tipo;
      
    float valore_sensore;//il valore viene simulato con un oggetto random
      //in base al tipo di stazione il valore del sensore va interpretato come
      //velocità moto ondoso, grado sismico in atto, pressione atmosferica
      
      
    public stazione(tipo_stazione tsfloat valore){
        
    this.tipo ts;
        
    this.valore_sensore valore;
      }

      

      

    In particolare non ho capito che cosa fanno queste righe di cosice:


    enum tipo_stazione { MARITTIMA, TERRESTRE, AEREA };
    tipo_stazione tipo;

    ed


    STAZIONI.add(newstazione(stazione.tipo_stazione.va lueOf(s),Float.parseFloat(f.readLine())));

    in particolare stazione.tipo_stazione.valueOf(s) cosa fa questo?

  2. #2

    Re: Chi mi puo aiutare a comprendere questo pezzo di codice??

    Originariamente inviato da angelo85ct
    Salve ragazzi, non ho capito bene cosa fa questo pezzo di codice:

    Codice PHP:
    public Stazioni(){
       
    //caricamento informazioni dal file 
        
    try{
          
        
    BufferedReader f = new BufferedReader(new FileReader("valori.txt"));
        
    String s;
          
        while((
    f.readLine()) != null){
         
    STAZIONI.add(new stazione(stazione.tipo_stazione.valueOf(s),Float.parseFloat(f.readLine()))); 
        }
        
        
    f.close();
        
        }catch(
    FileNotFoundException fnf){
          
    System.out.println("File non trovato");
          
    System.exit(1);
        }catch(
    IOException ioe){
          
    System.out.println("Errore di IO");
          
    System.exit(1);
        }
        
      }

    lass stazione{
      
    enum tipo_stazione MARITTIMATERRESTREAEREA };
      
    tipo_stazione tipo;
      
    float valore_sensore;//il valore viene simulato con un oggetto random
      //in base al tipo di stazione il valore del sensore va interpretato come
      //velocità moto ondoso, grado sismico in atto, pressione atmosferica
      
      
    public stazione(tipo_stazione tsfloat valore){
        
    this.tipo ts;
        
    this.valore_sensore valore;
      }

      

      

    In particolare non ho capito che cosa fanno queste righe di cosice:


    enum tipo_stazione { MARITTIMA, TERRESTRE, AEREA };
    tipo_stazione tipo;

    ed


    STAZIONI.add(newstazione(stazione.tipo_stazione.va lueOf(s),Float.parseFloat(f.readLine())));

    in particolare stazione.tipo_stazione.valueOf(s) cosa fa questo?

    In java enum fissa le costanti (infatti per convezione vengono usati i caratteri maiuscoli).

    Per eventuali chiarimenti guardati questo link dal sito della Sun: http://java.sun.com/docs/books/tutor...vaOO/enum.html

    Per quanto riguarda l'altro segmento di codice che non ti è chiaro dovrebbe aggiungere una nuova stazione (inserendo anche il tipo di stazione e il valore) ogni volta che si vuole grazie al ciclo while.
    http://jkkl.netsons.org

  3. #3
    Ciao, gli enum sono classi "speciali" usate soprattutto per raggruppare un insieme di costanti, esistono da java 5.
    In java 1.4 la tua classe stazione la potevi scrivere così:
    codice:
    class Stazione {
    
       public static final int MARITTIMA = 0;
       public static final int TERRESTRE = 1;
       public static final int AEREA = 2;
       
       int tipo; 
    
       ...
    }
    con gli enum il codice è più pulito.
    Con il metodo valueOf prendi il valore di un enum da una stringa, tipo_stazione.valueOf("MARITTIMA") ti ritorna l'enum associato a tipo_stazione.MARITTIMA
    quindi quello che fa il tuo codice è
    1 - legge una riga da valori.txt che deve contenere MARITTIMA, TERRESTRE o AEREA
    2 - legge quella successiva che deve contenere un numero parsabile come float
    3 - costruisce un oggetto Stazione e lo aggiunge a STAZIONI che mi immagino sia una collezione, tipo una List
    4 - ripete fino alla fine del file

  4. #4
    Utente di HTML.it L'avatar di angelo85ct
    Registrato dal
    Dec 2007
    Messaggi
    322
    GoodbyeSoberDay ti ringrazio, sei stato molto chiaro
    Grazie

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.