Ciao a tutti sono nuova del forum,sto facendo il primo anno di ingegneria informatica all'università e a settembre c'ho l'esame d'informatica e purtroppo non tutti gli esercizi mi riescono,quindi mi sono registrata a questo forum sperando che mi possiate essere d'aiuto
Attualmente il mio problema riguarda i package in pratica devo creare un package agenzia al cui interno ho svilluppato una classe Mezzo.Il package agenzia l'ho salvato dentro una cartella agenzia.In una cartella eccezioni all'interno di agenzia ho salvato il package agenzia.eccezioni,mentre all'interno della cartella mezzi sempre all'interno di agenzia ho salvato il package.mezzi che invece sviluppa la classe auto.La classe Mezzo importa agenzia.eccezioni,mentre auto importa agenzia e tutti so subpackage.Quando compilo Errore.java non ho problemi,mentre quando compilo Mezzo.java mi da l'errore "package agenzia.eccezioni does not exist" e poi "cannot find symbol,class Errore,location class agenzia.Mezzo".Quando compilo Auto.java invece mi da sempre l'errore "cannot find symbol" sia con la classe Mezzo che con Errore.Come devo fare?! ho per caso sbagliato a posizionare le cartelle?!Vi posto i codici sperando che qualcuno mi possa aiutare,grazie in anticipo

codice:
package agenzia;
import agenzia.eccezioni.Errore;

public class Mezzo{
	private String targa;	
	public Mezzo(String t)throws Errore{
		if(!targaOk(t)){
		    Errore e = new Errore("Formato targa errato");
		    throw e;
		}
		this.targa=t;
	}	
	public String getTarga()throws Errore{
		return this.targa;	
	}	
	public boolean targaOk(String s){
		if(s.length()!=7)
			return false;
		for(int i=0; i<7; i++){
			if(i==0||i==1||i==5||i==6){
				if(Character.isDigit(s.charAt(i)))
					return false;
			}
			if(i==2||i==3||i==4){
				if(!Character.isDigit(s.charAt(i)))
					return false;
			}		
	    }
		return true;
	}			
	public boolean equals(Object x){
		if(this.getClass().equals(((Mezzo)x).getClass()))
			if(this.getTarga().equals(((Mezzo)x).getTarga()))
				return true;
		return false;
	}	
	public double costoNoleggio(){
	    return 0.0;
	}	
}
codice:
package agenzia.mezzi;
import agenzia.*;

public class Auto extends Mezzo{
	private int cc;	
	public Auto(String t, int cc)throws Errore{
		super(t);		
		if(cc>5000||cc<800){
			Errore e = new Errore("Valore cilindrata errato");
			throw e;
		}
        this.cc=cc;		
	}
	public int getCilindrata(){
		return this.cc;
	}	
	public double costoNoleggio(){
		return ((double)this.getCilindrata()/20.0);
	}		
	public boolean equals(Object x){
		if(super.equals(x))
		        if(this.getCilindrata()==(((Auto)x).getCilindrata()))
			        return true;
		return false;
	}	
}
codice:
package agenzia.eccezioni;
public class Errore extends Exception{
	public Errore(String messaggio){
		super(messaggio);
	}
}