Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Java please! Create a SequenceIterator class that implements the interface Itera

ID: 3700903 • Letter: J

Question

Java please!

Create a SequenceIterator class that implements the interface Iterator of java.util package and can iterate over any sequence of numbers.

Your SequenceIterator class defines two private fields:

generator of type NumberGenerator that allows to generate the next number in a sequence,

index of type int that represents the index of the next number to be generated.

The SequenceIterator class one constructor that constructs a sequence iterator object with given number generator, and size. It also initializes the index to 0.

The SequenceIterator class overrides also the two methods hasNext() and next() defined by the Iterator interface. Create SequenceIterator class consisting of the following:

import java.util.Iterator;

public class SequenceIterator implements Iterator{

    private NumberGenerator generator; // a NumberGenerator object

     // that generates and returns a number of index n in a

     // sequence of numbers

    

    private int size;  // size of the sequence

    private int index; // index of the next number to be generated in the sequence

    

    /**

     * Constructs a SequenceIterator with given number generator and size

     * This constructs initializes also the index to 0

     * @param generator

     * @param size

     */

    public SequenceIterator(NumberGenerator generator, int size) {

        // Your code comes here

    }

    

    @Override

    public boolean hasNext() {

        // Your code comes here

    }

    

    @Override

    public Integer next() {

        // Your code comes here

    }

}

Here's the NumberGenerator class:

public interface NumberGenerator {

/**

* generates and returns the number of order n in a sequence of numbers

* @param n order of the generated number in the sequence

* @return the nth number in the sequence

*/

    public int generateNumber(int n);

}

Explanation / Answer

import java.util.Iterator;

public class SequenceIterator implements Iterator{

private NumberGenerator generator; // a NumberGenerator object

// that generates and returns a number of index n in a

// sequence of numbers

  

private int size; // size of the sequence

private int index; // index of the next number to be generated in the sequence

  

/**

* Constructs a SequenceIterator with given number generator and size

* This constructs initializes also the index to 0

* @param generator

* @param size

*/

public SequenceIterator(NumberGenerator generator, int size) {

this.generator = generator;
this.index = 0;
this.size = size;

}

  

@Override

public boolean hasNext() {

if (this.index == this.size){
return(false);
}
return(true);
}

  

@Override

public Integer next() {
Integer n = this.generator.generateNumber(this.index);
this.index = this.index + 1;
return(n);

}

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote