Visualizzazione dei risultati da 1 a 9 su 9

Hybrid View

  1. #1
    Ora ho messo inizio e fine come parametri di Evento. Una cosa "curiosa" che mi succede è che, una volta messi gli eventi in un ArrayList, il primo abbia inizio e fine corretti, il secondo solo la fine.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da luca93abc Visualizza il messaggio
    Ora ho messo inizio e fine come parametri di Evento.
    Non è quella la questione. Se in Evento ci sono sia fine che durata e anche il void setFine(Calendar fine), allora c'è la potenziale incoerenza tra il concetto di inizio/fine e durata.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    La classe fine ora è questa:
    codice:
    public abstract class Evento {    private String nome;
        private Calendar inizio;
        private Calendar fine;
        private String luogo;
    
    
        public Evento(String nome, Calendar inizio, Calendar fine, String luogo) {
            this.nome = nome;
            this.inizio = inizio;
            this.fine = fine;
            this.luogo = luogo;
        }
    
    
        public String getNome() {
            return nome;
        }
    
    
        public Calendar getInizio() {
            return inizio;
        }
    
    
        public Calendar getFine() {
            return fine;
        }
        
        public String getLuogo() {
            return luogo;
        }
    
    
        public void setNome(String nome) {
            this.nome = nome;
        }
    
    
        public void setInizio(Calendar inizio) {
            this.inizio = inizio;
        }
    
    
        public void setFine(Calendar fine) {
            this.fine = fine;
        }
    
    
        public void setLuogo(String luogo) {
            this.luogo = luogo;
        }
    
    
        
    }
    Conseguentemente il metodo nuovoEvento della classe Agenda è:
    codice:
        public void nuovoEvento(String nome, String luogo, int giorno, int mese, int anno, int inizioH, int inizioM, int durata) {        Calendar inizio = calendarize(giorno, mese, anno, inizioH, inizioM);
            long fineMillis = inizio.getTimeInMillis() + durata*60000;
            Calendar fine = new GregorianCalendar();
            fine.setTimeInMillis(fineMillis);
            Evento e = new Semplice(nome, inizio, fine, luogo);
    
    
            if (verifica(e) == true) {
                eventi.add(e);
            }
            
        }
    dove calendarize(...) è solo un piccolo metodo che, dati i valori interi restituisce l'oggetto Calendar... diciamo che è stato per semplificare!

Tag per questa discussione

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.