Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [JAVA] Problema Aggiungi linea

    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

    codice:
        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 che controlo ci devo fare per verificare se la linea esiste e andare 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 che controlo ci devo fare per verificare se la linea esiste e andare al throw new LineaGiaEsistente("") oppure aggiungerla nella rete.add(l).

    grazie in anticipo ma vi prego date mi qualche dritta!!!!!!!!

  2. #2
    Utente di HTML.it L'avatar di progAnd
    Registrato dal
    Jan 2012
    Messaggi
    119
    Aggiungi un metodo a linea che ritorna vero se la città c è presente nella linea. Mantieni un elenco di linee e, per ogni città che viene passata, controlla se due città non appartengano alla stessa linea (questo è la strategia più semplice, anche se non ottimizzata).

    Ciao

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.