Problema de principiante2 (while...

Iniciado por Nu|kEr32, 17 Junio 2010, 06:58 AM

0 Miembros y 1 Visitante están viendo este tema.

Nu|kEr32

Hola a todos!
Tengo el sgte code:

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
// <applet width="300" height="400" code="ApWhile"></applet>

public class ApWhile extends Applet implements ActionListener{
Label l1, l2, l3;
TextField a1, a2;
TextArea ta1;
Button b1;


public ApWhile(){
l1 = new Label("Poblacion inicial");
a1 = new TextField(8);
l2 = new Label ("% Aumento Diario");
a2 = new TextField(5);
l3 = new Label ("Resultados Simulacion");
ta1 =new TextArea(20, 30);
b1 = new Button("Simular");
add(l1);
add(a1);
add(l2);
add(a2);
add(l3);
add(b1);
add(ta1);
b1.addActionListener(this);
}
public void actionPerformed(ActionEvent ae) {
double p = Double.parseDouble(a1.getText());
double prc = Double.parseDouble(a2.getText());
ta1.setText("");//areatexto
int day=1;
double n = p;//n es igual a p, toma su val
while(n < p*2){//n sea menor al doble de p
n = (p*prc)/100 + n;
ta1.append("day" +day+ "Poblacion ="+n+"\n");
day ++;
}}}

Bueno,el code esta sin errores...
1.- Es un applet que pide dos valores(uno q es el q aumentará y el otro, el porcentaje que aumenta por dia), y un area de texto(TextArea), el while terminará hasta q p llegue al doble de su valor.
2.- El caso es que si yo escribo 1000 y 10%, aumenta en el 1day: 1100, 2d:1200, 3:1300, 4:1400...y deberia de ser: 1d:1100, 2d:1210, 3d:1331, 4d:1464,1...
3.-La manera de hacer es: 1000(valor1)*10(porctaje)/100+1000(da 1100); luego: 1100*10/100+1100(da 1210)...y en el applet pareciera q fuera 1000*10/100+1000(1100), 1000*10/100+1100(1200), es decir, el valor de n ultimo no lo toma sino el de n=p, osea 1000 en este caso...
Alguna Sugerencia, ideas...
A=Z, B=de A a Z/2, C= B+1hacia la derecha
OBAGZPGZYQ Z YU OBEEQB FU XZ PQOURENFGQ
I dont feel enough stronger...

Nu|kEr32

#1
EdiT: xDXD
ERROR bobo jejej,
era en la parte: n = (p*prc/100 + n);, no es p sino n xD
quedaba: n = (1000*10/100)+1000=1100, 1100*10/100+1100..=1200


A=Z, B=de A a Z/2, C= B+1hacia la derecha
OBAGZPGZYQ Z YU OBEEQB FU XZ PQOURENFGQ
I dont feel enough stronger...