Estatuto while
Sintaxis
while ( condición )
estatuto;
while ( condición )
estatuto;
Si se requiere realizar más de un estatuto se deben utilizar llaves.
while ( condición )
{
bloque de estatutos;
}
Aquí se ejecuta el (los) estatuto (s) mientras la condición es verdadera; al momento de ser falsa termina el ciclo.
{
bloque de estatutos;
}
Aquí se ejecuta el (los) estatuto (s) mientras la condición es verdadera; al momento de ser falsa termina el ciclo.
Si la condición es falsa la primera vez nunca se ejecuta(n) el (los) estatuto(s).
Ejemplo: Applet
que toma la cantidad de dinero a invertir, el porcentaje de inversión
mensual y el dinero que se quiere tener invertido finalmente y va
desplegando en un campo (TextArea) el nuevo saldo mes tras mes.
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
// <applet width="300" height="400" code="AppletCiclos1"></applet>
public class AppletCiclos1 extends Applet implements ActionListener {
Label l1, l2, l3,l4;
TextField t1, t2,t3;
TextArea ta;
Button b;
public AppletCiclos1() {
l1 = new Label("Inversión Inicial");
t1 = new TextField(8);
l2 = new Label("% interes mensual");
t2 = new TextField(5);
l3 = new Label("Inversión Final");
t3 = new TextField(8);
l4 = new Label("Resultados de la Inversión");
ta = new TextArea(20,30);
b = new Button("VER MES");
add(l1);
add(t1);
add(l2);
add(t2);
add(l3);
add(t3);
add(b);
add(l4);
add(ta);
b. addActionListener(this);
}
public void actionPerformed(ActionEvent ae) {
double invinicial = Double.parseDouble(t1.getText());
double interes = Double.parseDouble(t2.getText());
double invfinal = Double.parseDouble(t3.getText());
ta.setText("");
int mes = 1;
double saldo = invinicial;
while (saldo < invfinal) {
saldo = saldo * (1 + interes/100);
ta.append(" mes " + mes + " Saldo = " + saldo + "\n");
mes ++;
}
}
}
Un ejemplo de la ejecución de este applet es:
En
este applet hemos utilizado el texto de área TextArea t, el cual nos
ayuda a mostrar la información por línea, haciendo uso del método
append(), es importante también notar que dentro del método append hemos
concatenado el caracter "\n", el cual nos sirve para saltar de línea
dentro del objeto TextArea, ya que con el append añadimos caracteres que
son concatenados, pero nunca se salta de línea.
Estatuto do .. while
Sintaxis
do
do
estatuto;
while ( condición );
Si se requiere realizar más de un estatuto se deben utilizar llaves.
Si se requiere realizar más de un estatuto se deben utilizar llaves.
do
{
bloque de estatutos;
}
{
bloque de estatutos;
}
while ( condición ); // nota que lleva ;
Se realizan los estatutos y se verifica la condición, mientras sea verdadera se sigue ejecutando; al momento de ser falsa termina
Se realizan los estatutos y se verifica la condición, mientras sea verdadera se sigue ejecutando; al momento de ser falsa termina
el ciclo.
Dado que la condición se revisa al final del ciclo el (los) estatuto (s) se realizan al menos una vez a diferencia del while
Ejemplo: Dado un número en un campo texto, desplegar en otro el número de dígitos del primero
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
// <applet width="300" height="400" code="AppletCiclos2"></applet>
public class AppletCiclos2 extends Applet implements ActionListener {
Label l1, l2;
TextField t1, t2;
Button b;
public AppletCiclos2() {
l1 = new Label("Numero");
t1 = new TextField(8);
l2 = new Label("Digitos");
t2 = new TextField(20);
b = new Button("SABER DIGITOS");
add(l1);
add(t1);
add(b);
add(l2);
add(t2);
b. addActionListener(this);
}
public void actionPerformed(ActionEvent ae) {
int x = Integer.parseInt(t1.getText());
int cant = 0;
do
{
x = x / 10;
cant++;
} while (x > 0);
t2.setText("El numero tiene " + cant + " digitos");
}
}
La visualización de este applet queda de la siguiente manera:
No hay comentarios:
Publicar un comentario