Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Programmazione JAVA

Visualizzazione discussione

  1. #3
    codice:
    ===================================================================================
    /** 
      * VEICOLI: i quali sono caratterizzati da marca, modello e da un metodo per la stampa di un
      indicatore di efficienza del veicolo. L’implementazione di tale metodo non è nota a priori, in
      quanto varierà in base al veicolo specifico. La classe deve prevedere un ordinamento per le sue
      istanze basato sull’efficienza (i veicoli di efficienza maggiore vengono prima).
      */
    
    public abstract class Veicolo {
    
     
     private String marca, modello;
     public abstract double getEfficienza();
     public Veicolo(String marca, String modello) {
      this.marca = marca;
      this.modello = modello;
     }
     
     public static Comparator<Object> getVeicoliOrdering(){
      return new VeicoliComparator();
     }
     public String getMarca() {
      return marca;
     }
     public String getModello() {
      return modello;
     }
    }
    
    ====================================================================================
     /**
      * CONCESSIONARIO: caratterizzato da nome, indirizzo e dall’elenco dei veicoli in pronta consegna. 
       Essa permette di:
      a. Aggiungere un veicolo;
      b. Rimuovere un veicolo;
      c. Dato un veicolo, restituire l’elenco dei veicoli della stessa tipologia;
      d. Ciclare sui veicoli tramite for-each, in ordine di efficienza.
      */
    
    
    public class Concessionario {
     
     private String nome, indirizzo;
     private List<Veicolo> elencoVeicoli;
     public Concessionario(String nome, String indirizzo) {
      this.nome = nome;
      this.indirizzo = indirizzo;
      elencoVeicoli = new ArrayList<>();
     }
     
     public String getNome() {
      return nome;
     }
     public String getIndirizzo() {
      return indirizzo;
     }
     //a. Aggiungere un veicolo;
     public void addVeicolo(Veicolo v) {
      if (v.equals(null)) {
       throw new NullPointerException();
      } else {
       elencoVeicoli.add(v);
      }
     }
     //b. Rimuovere un veicolo;
     public void removeVeicolo(Veicolo v) throws VeicoloNonPresenteException {
      if (elencoVeicoli.contains(v)) {
       throw new VeicoloNonPresenteException();
      } else if (v.equals(null)) {
       throw new NullPointerException();
      } else {
       elencoVeicoli.remove(v);
      }
     }
     
     //c. Dato un veicolo, restituire l’elenco dei veicoli della stessa tipologia;
     public List<Veicolo> getVeicoliUgualeTipologia(Veicolo v) {
      List<Veicolo> listaVeicoli = new ArrayList<>();
      if (v.equals(null)) {
       throw new NullPointerException();
      } else {
       for (Veicolo veicolo : elencoVeicoli) {
        if (veicolo.getClass().equals(v.getClass())) {
         listaVeicoli.add(veicolo);
        }
       }
      }
      return listaVeicoli;
     }
     //d. Ciclare sui veicoli tramite for-each, in ordine di efficienza.
     public void cicla(){
      
     }
    }
    Ultima modifica di LeleFT; 28-08-2017 a 13:10 Motivo: Aggiunti i tag CODE

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.