import java.applet.Applet; import java.awt.Graphics; import java.io.PrintStream; public class RKApplet extends Applet { public RKApplet() { } public void paint(Graphics g) { drawRK(g); } static double f(double d, double d1) { return 2D + (d1 - d - 1.0D) * (d1 - d - 1.0D); } void drawRK(Graphics g) { double d7 = 0.0D; double d9 = 0.0D; int j = 500; double d10 = 1.0D; double d11 = 2D; double d12 = 2D; double d4 = (d11 - d10) / (double)j; double d5 = d10; double d6 = d5; long l = System.currentTimeMillis(); int i; for(i = 1; i <= j; i++) { double d = d4 * f(d5, d12); double d1 = d4 * f(d5 + d4 / 2D, d12 + d / 2D); double d2 = d4 * f(d5 + d4 / 2D, d12 + d1 / 2D); double d3 = d4 * f(d5 + d4, d12 + d2); d12 += (d + 2D * d1 + 2D * d2 + d3) / 6D; d5 = d6 + (double)i * d4; double d8 = Math.abs((1.0D + d5 + Math.tan(d5 - 1.0D)) - d12); d9 += d8; System.out.println(d8); g.drawLine(i + 30, (int)(500D - 100D * d12), i + 30, (int)(500D - 100D * d12)); g.drawLine(i + 30, 470, i + 30, (int)(470D - 10000D * d8)); } l = System.currentTimeMillis() - l; System.out.println("Total error: " + d9); System.out.println("Iterations: " + (i - 1)); System.out.println("Time: " + l); } }