Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [Java] Esercizio d'esame sulle interface

    Ciao,
    questa è la prima parte di un vecchio compito d'esame....mi potete dire seè impostato correttamente?

    Il testo dice:

    Si consideri un metodo generaElementoACaso che prende in input una collezione generica di oggetti, ne estrae un iteratore, calcola e restituisce un elemento a caso della collezione.

    Si richiede l'implementazione in linguaggio Java del metodo generaElementoACaso nonchè il progetto e l'implementazione in Java di tutti i tipi astratti ad esso necessari. Si utilizzi a tale scopo il metodo di istanza nextInt(), di tipo int, della classe Random.


    Praticame io l'ho pensato così:

    Mi definisco un'interface chiamata CollConIteratore che mi rappresenta genericissime collezioni di oggetti che hanno in comune una sola cosa: avere definito un iteratore.

    Poi definisco una classe Utility che conterrà il metodo generaElementoACaso che mi si chiede di implementare sul testo dell'esercizio. Tale metodo prenderà come parametro il riferimento ad un oggetto CollConIteratore (quindi a qualsiasi oggetto istanza di una classe che implementa l'interface precedentemente definita) e restituirà al chiamante il riferimento ad un Object (ad un Object perchè sarà per forza di cose il riferimento ad un oggetto istanza di una classe che implementa l'interface CollConIteratore)

    Quindi in codice qualcosa del genere:

    Intereface CollConIteratore:
    codice:
    public interface CollConIteratore{
    	Iterator enumera();
    }
    Classe Utility contenente il solo metodo generaElementoACaso:
    codice:
    public class Utility{
    	
    	/** REQUIRES: C != 0
    		EFFECTS: Restituisce un elemento casuale presente nella collezione C
    		@param: un oggetto di tipo CollConIteratore
    		@retur: il riferimento ad un Object */
    	public static Object get ElementoACaso(CollConIteratore c){
    		
    		Random r = new Random m():		// Crea un oggetto random
    		Iterator it = c.enumera():		// Crea il corretto iteratore per la collezione c
    		int quale = r.nextInt();		// Genera un intero casuale partendo da un oggetto random
    		int i = 0;
    		int quanti = 0;
    		
    		while(i < quale){		// Finchè il contatore i è minore del numero casuale quale precedentemente generato
    			it.remove; 	// Rimuovi l'elemento dall'iteratore (non dalla collezione, passa soloal prossimo elemento dell'iteratore)
    			i++;		// Incrementa i di 1
    		}
    		
    		/* Ritorna al chiamante il prossimo elemento nella collezione che corrisponde all'elemento nella posizione quale
    		   generata in maniera casuale */
    		return it.next();
    	}
    }
    Ci può stare come impostazione?

    mmm tra l'altro ho vari problemi...qualche giorno fa mi sono beccato un virus devastante sul mio portatile ed ho dovuto usare avira (un antivirus bootabile) che mi ha trovato e bloccato varie porcate dentro Java...ed ora mi stà dando qualche problema a compilare questa cosa (però non sò se c'entra nulla)...ad esempio mi dà:

    C:\Programmi\Crimson Editor\template\esercizi\esami\07-02-07>javac CollConIteratore.java
    CollConIteratore.java:2: cannot find symbol
    symbol : class Iterator
    location: interface CollConIteratore
    Iterator enumera();
    ^
    1 error

    Può dipendere da questi casini o ho sbagliato qualcosa io?
    Altra cosa...prima quando premevo il tasto TAB nel prompt di msdos mi completava le parole già iniziate...ora no...booo

    Grazie
    Andrea

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Re: [Java] Esercizio d'esame sulle interface

    mmm tra l'altro ho vari problemi...qualche giorno fa mi sono beccato un virus devastante sul mio portatile ed ho dovuto usare avira (un antivirus bootabile) che mi ha trovato e bloccato varie porcate dentro Java...ed ora mi stà dando qualche problema a compilare questa cosa (però non sò se c'entra nulla)...ad esempio mi dà:

    C:\Programmi\Crimson Editor\template\esercizi\esami\07-02-07>javac CollConIteratore.java
    CollConIteratore.java:2: cannot find symbol
    symbol : class Iterator
    location: interface CollConIteratore
    Iterator enumera();
    ^
    1 error

    Può dipendere da questi casini o ho sbagliato qualcosa io?
    Altra cosa...prima quando premevo il tasto TAB nel prompt di msdos mi completava le parole già iniziate...ora no...booo

    Grazie
    Andrea
    Tutti questi sono problemi che non vanno (e non saranno) affrontati qui. Non hanno nulla a che vedere con la programmazione, né tantomeno con Java (in particolare il secondo).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    ok...per il resto però qualcuno sà dirmi se com'è impostatol'esercizio può andar bene e se eventualmente ci sono errori miei di programmazione?

    Grazie
    Andrea

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.