Pages: [1]   Go Down
Print
Author Topic: Esercizio Veicoli completato!!!!  (Read 783 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
Antoniods
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 475



« on: 29-01-2009, 16:31:07 »

Vi posto il codice dell'esercizio
Code:
import java.util.*;

public class Veic
  {
  public static void main(String [] args)
    {
    Pedale [] A= new Pedale [100];
    for(int i=0;i<A.length;i++)
      {
      int x=(int)(Math.random()*3);
      int a=0;
      String S="";
      String T="";
      String U="";
      int [] v={20,20,5};
      Ruote R=new Ruote(3.4f,v,'a',2);
      Ruote Q=new Ruote(3.4f,v,'b',3);
      Ruote P=new Ruote(3.4f,v,'c',4);
      Antifurto Ant = new Antifurto(((double)Math.random()*50) ,((float)Math.random()*200));
      switch(x)
        {
        case 0:while(a<3)
                {
                U+=(char)(Math.random()*25+65);
                a++;
                }
                a=0;
              A[i]=new Bici(U,R,(int)(Math.random()*21));
              break;
        case 1:while(a<5)
                {
                T+=(char)(Math.random()*25+65);
                a++;
                }
                a=0;
              A[i]=new Tricicli(T,Q,1);
                break;
        case 2:while(a<2)
                {
                S+=(char)(Math.random()*25+65);
                a++;
                }
                a=0;
              while(a<3)
                {
                S+=(int)(Math.random()*9+48);
                a++;
                }
              A[i]=new Quad(S,P,4,Ant);
              break;
        }

    //===========VISUALIZZA INFORMAZIONI==============

      System.out.println(A[i]);
      }

    //==========ANTIFURTO PIù RUMOROSO================

    Quad B[]=new Quad[1];
    for (int u=0;u<A.length;u++)
         if(!(A[u] instanceof Bici)&& !(A[u] instanceof Tricicli))
         {
         B[0]=((Quad)A[u]);
         break;
         }
   float f=0.0f;
   for(int z=0;z<A.length;z++)
    if(!(A[z] instanceof Bici)&& !(A[z] instanceof Tricicli)&&((Quad)A[z]).getRumore()>B[0].getRumore()) B[0]=((Quad)A[z]);
   System.out.println("L'ANTIFURTO PIù RUMOROSO EMANA "+B[0].getRumore()+" dB; "+B[0]);

    //==========ORDINA TARGHE TRICICLI================
  int con=0;
  for (int i=0;i<A.length;i++)
      if(!(A[i] instanceof Bici)&& !(A[i] instanceof Quad)) con++;

  int vett=0;
  String T[]=new String[con];
  for (int w=0;w<A.length;w++)
    {
    if(!(A[w] instanceof Bici)&& !(A[w] instanceof Quad))
        {
        T[vett]=(A[w].getTarga());
        vett++;
        }
    }
  Arrays.sort(T);
  for (int i=0;i<T.length;i++)
      System.out.print(T[i]+" ");
 }
}

//==== VEICOLI

abstract class Veicoli
  {
  protected final int c = 2;
  private String targa;
  private int numruote;

  public Veicoli(String a,Ruote _r)
    {
    targa=a;
    numruote=(_r.getRuote());
    }

  public String getTarga()
    {
    return targa;
    }

  public int getNumRuote()
    {
    return numruote;
    }

  abstract public String toString();
  }

//====PEDALE

abstract class Pedale extends Veicoli
{
private Ruote r;
private int numMarce;
private String Nome="";

public Pedale(String a,Ruote b,int c)
  {
  super(a,b);
  numMarce=c;
  r=b;
  }

public int getMarce()
  {
  return numMarce;
  }

public int getP()
  {
  return (int)(r.getPressione()*getNumRuote());
  }

public String toString()
    {
    return Descrizione()+"Targa = "+getTarga()+"; Marce = "+numMarce+"; "+r.toString();
    }
abstract public double getPrezzo();
abstract public String Descrizione();
}

//====BICI

class Bici extends Pedale
  {
  private boolean smontata=false;

  public Bici(String a,Ruote b,int c)
    {
    super(a,b,c);
    }

  public double getPrezzo()
    {
    return (double)c*4;
    }

  public void Smonta()
    {
    smontata=true;
    }

  public boolean getSmontata()
    {
    return smontata;
    }
  public String Descrizione()
    {
    return "BICI : ";
    }
  }

//====TRICICLI


class Tricicli extends Pedale
  {
  private static int totale;
  private Ruote r;

  public Tricicli(String a,Ruote b,int c)
    {
    super(a,b,c);
    r=b;
    }

  public int getTotale()
    {
    return totale;
    }

  public double getPrezzo()
    {
    return (double)(Math.pow(c,5)*(r.getPressione()/5.7f));
    }

  public String Descrizione()
    {
    return "TRICICLO : ";
    }
  }

//====QUAD


class Quad extends Pedale
  {
  private boolean smontaruote=false;
  private Antifurto A;

  public Quad (String a,Ruote b,int c,Antifurto _A)
    {
    super(a,b,c);
    A=_A;
    }

  public int getG()
    {
    return 6;
    }

  public double getPrezzo()
    {
    return 3*c+getP()*getG();
    }

  public void smontaRuote()
    {
    smontaruote=true;
    }

  public String Descrizione()
    {
    return "QUAD : ";
    }

  public float getRumore()
    {
    return A.getDecibel();
    }
  }
//====MOTORIZZATI


class Motorizzati extends Veicoli
  {
  private int velocitamax;
  private Ruote r;

  public Motorizzati(String a,Ruote b,int c)
    {
    super(a,b);
    velocitamax=c;
    r=b;
    }

  public int getVelocita()
    {
    return velocitamax;
    }

  public String toString()
    {
    return "MOTORIZZATI : Targa = "+getTarga()+" "+r.toString()+"velocità massima ="+velocitamax;
    }
  }

//==== RUOTE


class Ruote
  {
  private float pressione;
  private int[] dimensione;
  private char battistrada;
  private int numruote;

  public Ruote(float a,int[] b,char c,int d)
    {
    pressione=a;
    dimensione=b;
    battistrada=c;
    numruote=d;
    }

  public int getRuote()
    {
    return numruote;
    }
  public float getPressione()
    {
    return pressione;
    }

  public int [] getDimensione()
    {
    return dimensione;
    }

  public char getBattistrada()
    {
    return battistrada;
    }

  public String toString()
    {
    String s= "Pressione Ruote = "+pressione+"; Dimensioni = ";
    for(int i=0;i<dimensione.length;i++)
      s+=dimensione[i]+"x";
    s+="; Battistrada = "+battistrada+".";
    return s;
    }
  }

//====ANTIFURTO


class Antifurto
  {
  private double frequenza;
  private float decibel;

  public Antifurto(double a,float b)
    {
    frequenza=a;
    decibel=b;
    }

  public double getFrequenza()
    {
    return frequenza;
    }

  public float getDecibel()
    {
    return decibel;
    }
  }

Se ci sono errori fatemi sapere...
Logged

"Ho fallito diversi esami all'università, un mio amico li ha sempre passati tutti al primo colpo. Ora lui è ingegnere alla Microsoft, ed io... io sono il capo della Microsoft". (Bill Gates)
Pages: [1]   Go Up
Print
Jump to: