Мне нужно реализовать метод apply, используя binaryOperator, чтобы выполнить математическую процедуру в двух двухместных, но не могу узнать, как это сделать. Цель моего кода - применить метод apply по двум числам за раз, каждый из которых соответствует соответствующему итератору.Невозможно выяснить, как реализовать метод apply для интерфейса binaryOperator java
Я не программировал слишком долго, так что мой код, вероятно, имеет много ошибок, но это, как далеко я пришел «сезам Сейчас:
package interfaces;
import java.util.Arrays;
import java.util.Iterator;
import java.util.function.BinaryOperator;
public class BinaryComputingIterator implements Iterator<Double>,
BinaryOperator<Double>{
private BinaryOperator<Double> operator;
private Iterator<Double> iterator1;
private Iterator<Double> iterator2;
private Double default1;
private Double default2;
BinaryComputingIterator(Iterator<Double> iterator1,
Iterator<Double> iterator2, BinaryOperator<Double> operator){
this.iterator1 = iterator1;
this.iterator2 = iterator2;
this.operator = operator;
}
BinaryComputingIterator(Iterator<Double> iterator1,
Iterator<Double> iterator2, Double default1, Double default2,
BinaryOperator<Double> operator){
this.iterator1 = iterator1;
this.iterator2 = iterator2;
this.operator = operator;
this.default1 = default1;
this.default2 = default2;
}
@Override
public boolean hasNext() {
if (iterator1.hasNext() && iterator2.hasNext()){
return true;
}
return false;
}
@Override
public Double next() {
if (this.hasNext()){
return this.next();
}
return null;
}
@Override
public Double apply(Double t, Double u) {
return this.operator.apply(t, u);
}
}
Спасибо, это очень помогло! – Camilla