11.07.2015 Views

Soluzioni Esercizi Q2 (pdf, it, 131 KB, 3/23/09)

Soluzioni Esercizi Q2 (pdf, it, 131 KB, 3/23/09)

Soluzioni Esercizi Q2 (pdf, it, 131 KB, 3/23/09)

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Esercizi</strong>o <strong>Q2</strong> 16Si crei un package stream dentro il quale inserire:• una classe astratta Stream.java che rappresenta una sequenza arb<strong>it</strong>raria infin<strong>it</strong>a di numeri interi n1,n2,n3,n4,n5,n6....Gli oggetti di tale sequenza devono fornire i metodi:1. primo() che rest<strong>it</strong>uisce n12. resto() che rest<strong>it</strong>uisce un nuovo stream ottenuto eliminando dallo stream il primo elemento: n2,n3,n4,n5,n6,...3. toString() che rest<strong>it</strong>uisce una stringa che contiene i primi 100 elementi dello stream, separati da virgolaLasciare astratti i metodi che non si sanno implementare• una sua sottoclasse concreta MaggioriOUgualiA che rappresenta lo stream infin<strong>it</strong>o dei numeri maggiori o uguali a unadata costante. Gli oggetti di tale classe devono avere un costruttore MaggioriOUgualiA(costante) in cui si specificala costante da cui deve cominciare lo stream• una classe concreta Pos<strong>it</strong>ivi che rappresenta lo stream infin<strong>it</strong>o dei numeri pos<strong>it</strong>ivi: 1,2,3,4,5,6....classe conviene che sia sottoclasse?Di quale altraSi scriva quindi, fuori dal package, una classe MainStream.java che crea e stampa lo stream dei numeri maggiori o uguali a100 e quello dei numeri pos<strong>it</strong>ivi.package stream;/***file: Stream.java* Uno stream, cioè una sequenza, anche infin<strong>it</strong>a, di* numeri interi.*/public abstract class Stream {public abstract int primo();public abstract Stream resto();public String toString() {String risultato = "" + primo();Stream s = resto();for (int i = 1; i < 100; i++, s = s.resto())risultato += "," + s.primo();}return risultato;}package stream;/*** file: MaggioriOUgualiA.java* Lo stream dei numeri interi maggiori o uguali* a una data costante.*/public class MaggioriOUgualiA extends Stream {// La costante da cui partono gli elementi di questo stream.private int costante;21

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!