Visualizzazione dei risultati da 1 a 2 su 2

Discussione: ListeCollegate

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2015
    Messaggi
    6

    ListeCollegate

    Buonasera,

    domani ho l'esame di informatica mi sono imbattuto nel seguente esercizio:

    definire la classe Tavolo per istanziare tavoli le cui proprietà sono il materiale di cui sono fatti, lunghezza,larghezza e altezza. Definire dei metodi appropriati e un metodo toString per la descrizione testuale di un oggetto tavolo e un metodo equals che verifichi l'uguaglianza tra due tavoli.


    Costruire l'oggetto Nodo per rappresentare liste di oggetti Tavolo.


    Definire un metodo Nodo trasforma(Tavolo[] t) che, dato un array di tavoli, calcoli e restituisca una strutturacollegata di tavoli ordinati per lunghezza, e a parità di lunghezza per larghezza, e che non copi i tavoli uguali.

    Io ho scritto il codice, il problema è che in uscita non stampa nulla:
    codice:
    class Nodo{
     Tavolo info;
     Nodo next;
     public Nodo(Tavolo s,Nodo l){
      this.info=s;
      this.next=l;
     }
    }
    public class esame2009{
     public static void main(String[] args){
    
    
      Tavolo[] t = new Tavolo[]{new Tavolo("legno",10,3,15),new Tavolo("cemento",12,5,20),new Tavolo("vetro",10,10,40),new Tavolo("legno",10,3,15)};
      Nodo v=trasforma(t);
      while(v!=null){
          System.out.println(v.info);
          v=v.next;
    }
     }
    
    
    public static void scambia(Tavolo[] a,int i, int j){
     Tavolo temp;
     temp=a[i];
     a[i]=a[j];
     a[j]=temp;
    }
     public static Tavolo[] ordina(Tavolo[] t){
    
    
      int i;
      int j;
      int k;
    
    
      for(j=0;j<t.length-1;j++){
       for(i=1;i<t.length-j;i++){
        if(t[i].getLunghezza()<t[i-1].getLunghezza())
          scambia(t,i,i-1);
        else if(t[i].getLunghezza()==t[i-1].getLunghezza())
          if(t[i].getLarghezza()<t[i-1].getLarghezza())
            scambia(t,i,i-1);
        }
      }
      return t;
    }
     public static Nodo trasforma(Tavolo[] t){
    
    
      Nodo l = new Nodo(t[0],null);
      Nodo app = l;
      int i;
    
    
      ordina(t);
    
    
      for(i=1;i<t.length;i++){
       app.next=new Nodo(t[i],null);
       app=app.next;
      }
    
    
     return eliminatutti(l);
     }
    
    
     public static Nodo eliminatutti(Nodo l){
    
    
      while(l!=null){
       eliminadoppioni(l.info,l);
       l=l.next;
      }
      return l;
     }
    
    
     public static void eliminadoppioni(Tavolo s,Nodo l){
      Nodo prec=l;
      Nodo succ=l.next;
    
    
      while(succ!=null){
       if(s.equals(l.info)){
        prec.next=succ.next;
        succ=prec.next;
       }
       else{
       succ=succ.next;
       prec=prec.next;
       }
      }
     }
    }

    codice:
    public class Tavolo{
     public String materiale;
     public int altezza;
     public int lunghezza;
     public int larghezza;
     public Tavolo(String m,int a,int l,int w){
      this.materiale=m;
      this.altezza=a;
      this.lunghezza=l;
      this.larghezza=w;
     }
     public String getMateriale(){
      return this.materiale;
     }
     public int getAltezza(){
      return this.altezza;
     }
     public int getLunghezza(){
      return this.lunghezza;
     }
     public int getLarghezza(){
      return this.larghezza;
     }
     public String toString(){
      return "Tavolo di "+getMateriale()+"    larghezza,altezza,lunghezza:["+getAltezza()+"x"+getLunghezza()+"x"+getLarghezza()+"]";
     }
     public boolean equals(Tavolo q){
     return this.getMateriale().equals(q.getMateriale()) && this.getAltezza()==q.getAltezza() && this.getLunghezza()==q.getLunghezza() && this.getLarghezza()==q.getLarghezza();
     }
    }
    grazie in anticipo per la disponibilità!

  2. #2
    Di farlo tutto non ne ho una grande voglia,
    ti posso pero dare una mia opinione, secondo me stai partendo male.

    l'esercizio ti dice: definire la classe Tavolo per istanziare tavoli

    Tavolo t=new Tavoli();
    public interface tavoli {
    public double lunghezza(double lu);
    public double larghezza(double la);
    public double altezza(double al);
    }


    public class tavolo implements tavoli{

    @Override
    public double lunghezza(double lu) {
    // TODO Auto-generated method stub
    return 0;
    }

    @Override
    public double larghezza(double la) {
    // TODO Auto-generated method stub
    return 0;
    }

    @Override
    public double altezza(double al) {
    // TODO Auto-generated method stub
    return 0;
    }

    io sarei partito cosi, per il resto vedi tu auguri, non mi sembra scritto molto bene questo esercizio...
    ...le cui proprietà sono il materiale di cui sono fatti, lunghezza,larghezza e altezza !!!!!!!!!
    da quando la larghezza è un materiale ?
    Che è sto professore laureato in letteratura ma c'era solo un posto d' informatica ?

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.