// expo.java // exponential growth // adapted from a program in basic by H.T. Odum & E. Odum, 1994. import java.applet.*; import java.awt.*; public class expo extends Applet { double E, Q, K1, K4; Label l1, l2, l3, l4; TextField i1, i2, i3, i4; Button drawbutton; public void init() { l1 = new Label("E: "); i1 = new TextField("1",3); add(l1); add(i1); l2 = new Label("Q: "); i2 = new TextField("5",3); add(l2); add(i2); l3 = new Label("k1: "); i3 = new TextField("7",3); add(l3); add(i3); l4 = new Label("k4: "); i4 = new TextField("4",3); add(l4); add(i4); drawbutton = new Button("Draw"); add(drawbutton); } public boolean action(Event e, Object o) { E=(float)Integer.parseInt(i1.getText()); Q=(float)Integer.parseInt(i2.getText()); K1=(float)Integer.parseInt(i3.getText()); K4=(float)Integer.parseInt(i4.getText()); repaint(); return true; } public void paint ( Graphics g ) { int t; double DQ; t=0; DQ=0; K1=0.01f*K1; K4=0.01f*K4; g.drawRect(0,60,320,300); g.setColor(Color.green); do { if (360-Q>60) g.drawOval(t,(int)(360-Q),1,1); else g.drawOval(t,60,1,1); DQ=K1*Q*E-K4*Q; Q=Q+DQ; t=t+1; } while (t<=320); } } //Manuel Basler, October 24th 2000. Revised by Enrique Ortega 20-01-2001