[JAVA] piccolo problema in un esercizio

di il
7 risposte

[JAVA] piccolo problema in un esercizio

Ciao a tutti! Sono nuovo in questo forum quindi se dovessi commettere qualche errore chiedo scusa ma tutto ciò è dovuto alla mia inesperienza. Ho riscontrato un problema nello svolgimento di due metodi di un problema che tratta il meccanismo di ereditarietà. Ho provato a risolverli ma purtroppo non ne vengo a capo. Vi lascio scritti il testo dei metodi e vi lascio il link del problema:

• Immissione di un nuovo veicolo nel garage (ritornare il numero del posto
assegnato);

• Estrazione dal garage del veicolo che occupa un determinato posto (ritornare
l’istanza del veicolo stesso);

http://www.lia.deis.unibo.it/Courses/FondB0708-ELE/esercitazioni/250208/Esercitazione4.pdf

Io ho creato la classe "madre" VeicoliaAMotore che viene estesa dalle classi: Furgone, Automobile e motocicletta. In seguito ho creato la classe garage, al suo interno ho dichiarato un ArrayList di tipo VeicoliAMotore e li mi sono fermato.

Grazie mille in anticipo per l'aiuto

7 Risposte

  • Re: [JAVA] piccolo problema in un esercizio

    Ciao, qual è in particolare il problema che riscontri?
  • Re: [JAVA] piccolo problema in un esercizio

    Ciao, l'esercizio da te proposto è molto semplice!
    Se leggi attentamente l'uml, nella classe Garage devi creare un vettore di VeicoloAMotore e non un ArrayList. Ora i consigli che posso darti per i due metodi sono questi:

    - Per il primo metodo, ti conviene creare un ciclo for ed eseguire ad ogni iterazione un controllo per verificare se l'oggetto i-esimo del vettore VeicoloAMotore è null. Se è null vuol dire che il posto è disponibile perciò inserisci il VeicoloAMotore passato come parametro e fai il return dell'i-esima posizione.

    - Per il secondo ti basta restituire l'oggetto VeicoloAMotore nella posizione passata come parametro al metodo. Potresti fare un controllo sulla posizione passata (if(pos>=0 && pos<veicoli.length)).

    Credo che questo basti per risolvere il problema!
  • Re: [JAVA] piccolo problema in un esercizio

    Scusate il ritardo ma tra ferragosto e mia nonna non sono riuscito a mettermi sotto! Cosa che ho fatto sta sera ma senza risultati! Ho cambiato alcune cose, cioè ho dichiarato un array di tipo veicoli a motore e ho cancellato l'arraylist perchè era piu naturale l'array e piu semplice. vi posto il codice:


    private VeicoliAmotore lista[];

    public int Immissione(){
    for (int i = 0; i<lista.length;i++) {
    if (lista == null) {
    lista =
    }

    Ho capito tutto a parte l'assegnazione non so cosa fare, cosa devo fare se è null? Mi serve solo quel pezzo per il resto devo ringraziarti @francescoposa mi hai spiegato tutto benissimo!


    Ringrazio ancora in anticipo
  • Re: [JAVA] piccolo problema in un esercizio

    Per il secondo metodo ho riscontrato questi problemi, intanto posto il codice:

    for (int i = 0; i<lista.length; i++){
    if ( lista == num){
    lista = null;

    return ;

    il problema numero 1 è che NetBeans mi da errore (giustamente) nel controllo perche non posso comparare VeicoliAmotore con un intero che gli passo al metodo, secondo io non so cosa far ritornare al metodo magari qualcuno mi può aiutare.

    Grazie anticipatamente parte 2
  • Re: [JAVA] piccolo problema in un esercizio

    Ciao, leggi bene l'uml!
    1 - Il metodo ImmettiNuovoVeicolo vuole un parametro di tipo VeicoloAMotore! Quindi se è null, devi assegnare all'i-esimo elemento del vettore VeicoloAMotore quello passato in ingresso e fare il return.

    2 - Per il secondo non serve nessun ciclo! La posizione ti viene già passata come parametro! Ti basta fare il return di veicoli[posizione];

    Comunque ti posto qui il codice:
    
    public class Garage {
    	
    	private VeicoloAMotore[] veicoli = new VeicoloAMotore[15];
    	
    	public int immettiNuovoVeicolo(VeicoloAMotore v) {
    		
    		for(int i=0; i<veicoli.length; i++) {
    			if(veicoli[i] == null) {
    				veicoli[i] = v;
    				return i;
    			}
    		}
    		
    		return -1; //Garage pieno
    	}
    	
    	public VeicoloAMotore estraiVeicolo(int posto) {
    		if(posto>=0 && posto<veicoli.length)
    			return veicoli[posto];
    		else 
    			return null; //Non è una posizione valida
    	}
    }
    
  • Re: [JAVA] piccolo problema in un esercizio

    francescoposa ha scritto:


    Comunque ti posto qui il codice:
    Dare le soluzioni, in generale, non è una buona cosa per chi sta svolgendo un esercizio.
  • Re: [JAVA] piccolo problema in un esercizio

    andbin ha scritto:


    Dare le soluzioni, in generale, non è una buona cosa per chi sta svolgendo un esercizio.
    Si, hai ragione! Ma ho anche spiegato come fare..
    Se l'intento è quello di allenarsi, la soluzione la si vede solo quando si è veramente persi.. Se si vuole, si può provare a svolgerlo senza vedere la soluzione!
Devi accedere o registrarti per scrivere nel forum
7 risposte