Difference between revisions of "DoubleDeltaRange"

From CSE231 Wiki
Jump to navigation Jump to search
Line 1: Line 1:
 
=Motivation=
 
=Motivation=
Experience implementing the [https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html Iterable<T>] interface.
+
Experience implementing the [https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html Iterable<T>] and [https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html Iterator<T>] interfaces.
  
 
=Mistakes To Avoid=
 
=Mistakes To Avoid=
Line 6: Line 6:
  
 
=Investigate=
 
=Investigate=
interface [https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html Iterable<T>]
+
* interface [https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html Iterable<T>]
 
+
* interface [https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html Iterator<T>]
interface [https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html Iterator<T>]
 
  
 
<youtube>Dww-_5EiwA8</youtube>
 
<youtube>Dww-_5EiwA8</youtube>
Line 18: Line 17:
 
<pre>class DoubleDeltaRange implements Iterable<Double></pre>
 
<pre>class DoubleDeltaRange implements Iterable<Double></pre>
  
{{CodeToImplement|DoubleDeltaRange|constructor<br/>iterator()|doublerange.warmup}}
+
{{CodeToImplement|DoubleDeltaRange|constructor<br/>iterator()|iteration.doubledelta.group}}
  
 
===constructor===
 
===constructor===
Line 30: Line 29:
 
=Testing Your Solution=
 
=Testing Your Solution=
 
==Correctness==
 
==Correctness==
{{TestSuite|DoubleDeltaRangeTestSuite|doublerange.warmup}}
+
{{TestSuite|_DoubleDeltaRangeTestSuite|iteration.doubledelta.group}}

Revision as of 16:52, 27 January 2022

Motivation

Experience implementing the Iterable<T> and Iterator<T> interfaces.

Mistakes To Avoid

Attention niels epting.svg Warning: Do NOT Parallelize

Investigate

Code to Implement

DoubleRange

To implement this class you will need to declare and initialize fields. You should NOT create a List<Double> and fill it with the necessary values. The iterator should produce each next value live.

class DoubleDeltaRange implements Iterable<Double>
class: DoubleDeltaRange.java Java.png
methods: constructor
iterator()
package: iteration.doubledelta.group
source folder: student/src/main/java

constructor

method: public DoubleDeltaRange(double minInclusive, double maxExclusive, double delta) Sequential.svg (sequential implementation only)

iterator()

method: public Iterator<Double> iterator() Sequential.svg (sequential implementation only)

Although, you can create a named class, we encourage you to use this opportunity to create an instance of an anonymous class here.

Testing Your Solution

Correctness

class: _DoubleDeltaRangeTestSuite.java Junit.png
package: iteration.doubledelta.group
source folder: testing/src/test/java