Add debugging for oving5
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
package oving5.debugging;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.NoSuchElementException;
|
||||
|
||||
public class StringMergingIterator implements Iterator<String> {
|
||||
|
||||
private final Iterator<String> first;
|
||||
private final Iterator<String> second;
|
||||
private boolean turnSwitch = true;
|
||||
|
||||
public StringMergingIterator(Iterator<String> first, Iterator<String> second) {
|
||||
this.first = first;
|
||||
this.second = second;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasNext() {
|
||||
return this.first.hasNext() || this.second.hasNext();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String next() {
|
||||
if (!this.hasNext()) {
|
||||
throw new NoSuchElementException();
|
||||
}
|
||||
|
||||
String result = null;
|
||||
|
||||
if (!this.first.hasNext()) {
|
||||
result = this.first.next();
|
||||
} else if (!this.second.hasNext()) {
|
||||
result = this.second.next();
|
||||
} else {
|
||||
if (this.turnSwitch) {
|
||||
result = this.first.next();
|
||||
this.turnSwitch = false;
|
||||
}
|
||||
if (!this.turnSwitch) {
|
||||
result = this.second.next();
|
||||
this.turnSwitch = true;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user