// people.java // world population // adapted from a program in basic by H.T. Odum & E. Odum, 1994 import java.applet.Applet; import java.awt.*; import java.awt.Color; public class people extends Applet { double j,i,n,a,r,k0,k1,k2,k3,k4,k5,k6,k7,k8,k9,l1,l0,t0,n0,f0,a0,x; double ni,ai,fi,ti,df,da,b,d,t,fd; int k8i,k9i,f; Label prompt1, prompt2, prompt3; TextField input1, input2, input3; Button drawbutton; public void init() { prompt1 = new Label("Enter a start value for F :"); input1 = new TextField("900",6); add(prompt1);add(input1); prompt2 = new Label("K9 Value for medical care :"); input2 = new TextField("9000",16); add(prompt2);add(input2); prompt3 = new Label("K8 Value of epidemics :"); input3 = new TextField("4116",6); add(prompt3);add(input3); drawbutton = new Button("Draw"); add(drawbutton); } public boolean action (Event event,Object o) { if (event.target == input3 || event.target == input2 || event.target ==input1) { f=Integer.parseInt(input1.getText()); fd=(float)f; k9i=Integer.parseInt(input2.getText()); k8i=Integer.parseInt(input3.getText()); repaint(); } return true; } public void paint ( Graphics g ) { j=8.560001;i=5;n=5;a=1;r=12.5; k0=0.00003;k1=0.0000176;k2=0.01;k3=0.0000176;k4=0.01; k5=0.05;k6=0.0135;k7=0.126; l1=0.001054;l0=0.0433;t0=2.8;n0=0.08;f0=16;a0=1.8;x=1; ni=5;ai=1;fi=1000;ti=0;t=0; g.drawRect(0,90,320,180); g.drawLine(0,150,320,150); k8=(float)k8i/1000000.f; k9=(float)k9i/1000000.f; while (t/t0<320) { r=j/(1+k1*fd*n*a+k2*a); df=-k0*r*fd*n*a; da=k3*r*n*fd*a+k4*r*a-k5*a-k6*a-l0*n*n*(1-k9*a); b=l1*(a/n)*n; d=k7*n*(1-k9*a)+k8*n*n*(1-k9*a); if (d<0) d=0; fd=fd+df*i*x; if (fd<1) fd=1; n=n+(b-d)*i; if (n<0.01) n=0.01; a=a+da*i; if (a<1) a=1; g.setColor(Color.blue); g.drawLine((int)(ti/t0),(int)(270-ni/n0),(int)(t/t0),(int)(270-n/n0)); g.setColor(Color.red); g.drawLine((int)(ti/t0),(int)(270-ai/a0),(int)(t/t0),(int)(270-a/a0)); g.setColor(Color.green); g.drawLine((int)(ti/t0),(int)(150-fi/f0),(int)(t/t0),(int)(150-fd/f0)); ti=t; ni=n; ai=a; fi=fd; t+=i; } } } // Stefan Kontur & E. Ortega. August 28th 2000