kann mir event mal einer was übersetzen?
es soll keine klasse werden, sondern einfach nur ein procedure bei der das aktuelle pi in LabeledEdit1.Text geschrieben werden soll
Code:
public class FractionGenerator implements Generator {
private double start = 1.0;
private double factor = 1.0;
public Value next() {
Double res = new Double (this.factor/this.start);
this.start += 2.0;
this.factor *= -1.0;
return new ObjectValue(res);
}
}
habe ich übersetzt mit
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i, toggle:integer;
pidurch4:double;
begin
i:=1;
toggle:=1;
running:=true;
while running do
begin
pidurch4:=pidurch4+1/i*toggle;
toggle:=toggle*(-1);
end;
end;
doch nun hören meine fähigkeiten auf....in mehreren erweiterungsschritten kommen dieses sachen zustande:
Code:
public class PiGenerator extends DelegateGenerator {
private double lastValue = 0.0;
public PiGenerator (Generator g) {super(g);}
public Value next() {
return ObjectValue.fromDouble (4*(lastValue+=((Double)super.next().get()).doubleValue()));
}
}
Code:
public class EulerTransform implements Transformer {
private Double euler (double s0, double s1, double s2) {
double res = s2 - Math.pow((s2-s1),2)/(s0-2*s1+s2);
return new Double(res);
}
public Value transform(Generator g) {
double s0 = ((Double)g.next().get()).doubleValue();
double s1 = ((Double)g.next().get()).doubleValue();
double s2 = ((Double)g.next().get()).doubleValue();
return new ObjectValue(euler(s0,s1,s2));
}
}
Code:
public static Generator multitransform (final Generator g, final Transformer t) {
return new DelegateGenerator (transform(g,t)) {
public Value next () {
Value res = super.next();
this.setDelegate(Generators.transform(this.getDelegate(), t));
return res;
}
};
}
die ausgabe erfolgt schliesslich über
Code:
Generator eg = Generators.multitransform(
new PiGenerator(new FractionGenerator()),
new EulerTransform());
for (int i=0; i<5; i++) System.err.println (eg.next().get()+ " ");
nun, der vollständigkeit halber..es stammt hierher:
http://www.innuendo.de/documentation...Streams/euler1