Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
31/01/12 16:04
Si definisca una classe Rete che rappresenta un insieme di linee comunicazione.
All'interno della classe bisogna definire i seguenti metodi:

initialize()
crea una rete inizialmente senza linee

void aggiungi __linea(c1, c2, maxc)
aggiunge una linea di capacita' massima maxc tra le citta' c1 e c2.
Lancia l'eccezione LineaGiaEsistente se esiste gia' una linea tra c1 e c2
(oppure tra c2 e c1, ricordare che le linee sono bidirezionali).
Nota: la linea va creata con Linea l = new e quando viene creata si
assume che la sua capacita' attuale sia uguale alla capacita' massima

class Linea{
    int capacitaMax, capacitaAttu;
    Citta cA, cB;
    ArrayList<Citta> lineac;

    Linea(Citta c1, Citta c2, int maxc) throws CapacitaIllegale{

            if(maxc < 0)
                throw new CapacitaIllegale("");
           
            capacitaMax = maxc;
            capacitaAttu = maxc;
            cA=c1;
            cB=c2;
            lineac = new ArrayList<Citta>();
            lineac.add(c1);
            lineac.add(c2);
    }
piu altri metodi:
}
class Rete{
    List<Linea> rete;
    List<Linea> guaSegnMaNonRip;

    Rete(){
        rete = new ArrayList<Linea>();
        guaSegnMaNonRip = new ArrayList<Linea>();
    }

void aggiungi_linea(Citta c1, Citta c2, int maxc) throws LineaGiaEsistente, LineaInesistente, CapacitaIllegale{
        Linea l;
        try {
            l = new Linea(c1, c2, maxc);
            if( "Vorei sapere quale controllo dovrei fare per verificare se la linea esiste e passare al throw new LineaGiaEsistente(""), oppure aggiungerla nella rete.add(l)" )
                    rete.add(l);
                else{
                       throw new LineaGiaEsistente("");
                 }       
     
        catch (LineaGiaEsistente ex) {
         
        }
}
piu altri metodi:
}


Vorei sapere quale controllo dovrei fare per verificare se la linea esiste e passare al throw new LineaGiaEsistente("";), oppure aggiungerla nella rete.add(l).

Grazie in anticipo a tutti quelli che mi risponderanno!
Ultima modifica effettuata da 31/01/12 16:07
31/01/12 17:58
netarrow
Questo topic è in violazione di una o più norme del regolamento: pierotofy.it/pages/extras/forum/9/3839-regolamento/ .
    
Dopo averlo letto riapri un nuovo topic assicurandoti di aver rispettato le regole. Grazie per la tua pazienza.
aaa