Dsy Network www | forum | my | didattica | howto | wiki | el goog | stats | blog | dona | rappresentanti
Homepage
 Register   Calendar   Members  Faq   Search  Logout 
.dsy:it. : Powered by vBulletin version 2.3.1 .dsy:it. > Didattica > Corsi N - Z > Programmazione > [Capra] Secondo progettino
  Last Thread   Next Thread
Author
Thread    Expand all | Contract all    Post New Thread    Post A Reply
Collapse
johnnyd
.grande:maestro.

User info:
Registered: Sep 2005
Posts: 840 (0.12 al dì)
Location: Milano (Fragagnano)
Corso: Informatica
Anno: IV
Time Online: 13 Days, 22:13:29 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged
[Capra] Secondo progettino

Ciao ragazzi, come vi è andato il secondo compitino?
io ho appena finito di testarlo ed ho fatto un paio di errori.. ve lo posto sperando vi possa tornare utile... Ciauz

---- Classe Insieme

code:
public class Insieme { private final static int MAX = 100000; public boolean[] elenco = new boolean[MAX]; //qui ho fatto un errore, mettendo MAX - 1 mi da un errore riguarda il numero di elementi dell'array /** Costruttore senza parametri, crea un insieme vuoto */ public Insieme() { for (int i = 0; i < MAX; i++){ this.elenco[i] = false; } } //Costruttore con parametro che crea una copia dell'insieme passato public Insieme(Insieme copia){ for (int i = 0; i < MAX; i++){ this.elenco[i] = copia.elenco[i]; } } //Metodo per l'inserimento di un intero all'interno dell'insieme public boolean inserisci(int elemento){ if (elemento >= MAX) { return false; } else { elenco[elemento] = true; return true; } } //Metodo che ritorna vero se l'elemento passato è contenuto nell'array di booelan public boolean contiene(int elemento){ if(this.elenco [elemento]) return true; else return false; } //Metodo che restituisce true se l'insieme è vuoto public boolean vuoto(){ boolean trovato = false; for (int i = 0; i < MAX; i++) { if (this.elenco[i]){ trovato = true; //qui ho fatto un errore utilizzando il break, non so perchè ma nell'if non me lo prende //return trovato; //break; } else { trovato = false; } } return trovato; } //Metodo che fa l'unione public Insieme unione(Insieme altro) { Insieme union = new Insieme(); for(int i = 0; i < MAX; i++){ if (this.elenco[i] || altro.elenco[i]) union.inserisci(i); } return union; } //Metodo che fa l'intersezione public Insieme inters(Insieme altro) { Insieme inters = new Insieme(); for (int i = 0; i < MAX; i++){ if(this.elenco[i] && altro.elenco[i]) inters.inserisci(i); } return inters; } //Metodo che fa la differenza public Insieme diff(Insieme altro){ Insieme differenza = new Insieme(); for (int i = 0; i < MAX; i++){ if (this.elenco[i] && !altro.elenco[i]) differenza.inserisci(i); } return differenza; } //Metodo che da il numero di elementi inseriti public int card() { int count = 0; for (int i = 0; i < MAX; i++) if(this.elenco[i]) count++; return count; } //Metodo per la stampa dell'insieme toString public String toString(){ String testo = "Elementi di questo insieme: \n"; int count = 0; for (int i = 0; i < MAX; i++){ if (this.elenco[i]){ testo += "\t " + i; count++; } if (count == 5) testo += "\n"; } return testo; } //Metodo equals per vedere se due insiemi sono uguali public boolean equals(Insieme altro){ boolean trovato = false; for (int i = 0; i < MAX; i++) { if (this.elenco[i] && altro.elenco[i]) trovato = true; else trovato = false; } return trovato; } }


Classe ProvaInsieme
Qui ho usato i meto di più interessanti (per modo di dire) :D
code:
public class ProvaInsieme { public static void main(String [] args) { //Dichiaro due oggetti di tipo insieme vuoti Insieme insieme_a = new Insieme(); Insieme insieme_b = new Insieme(); insieme_a.inserisci(1); insieme_a.inserisci(2); insieme_a.inserisci(4); insieme_b.inserisci(2); insieme_b.inserisci(4); insieme_b.inserisci(5); System.out.println(insieme_a); System.out.println(insieme_b); Insieme insieme_c = new Insieme(); insieme_c = insieme_a.unione(insieme_b); System.out.println(insieme_c); Insieme insieme_d = new Insieme(); insieme_d = insieme_a.inters(insieme_b); System.out.println(insieme_d); Insieme insieme_e = new Insieme(); insieme_e = insieme_a.diff(insieme_b); System.out.println(insieme_e); Insieme insieme_f = new Insieme(insieme_a); System.out.println(insieme_a); System.out.println("Numero di elementi dell'insieme a: " + insieme_a.card()); System.out.println("Insieme a è uguale all'insieme b?: " + insieme_a.equals(insieme_b)); } }

__________________
My Blog - My Photo Album

19-12-2005 13:35
Click Here to See the Profile for johnnyd Click Here to See the Blog of johnnyd Click here to Send johnnyd a Private Message Find more posts by johnnyd Add johnnyd to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
All times are GMT. The time now is 04:16.    Post New Thread    Post A Reply
  Last Thread   Next Thread
Show Printable Version | Email this Page | Subscribe to this Thread | Add to Bookmarks

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
 

Powered by: vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento | Licenze | Thanks | Syndacate
Pagina generata in 0.051 seconds (56.69% PHP - 43.31% MySQL) con 26 query.