Archivo de la etiqueta: Cibertec

Estructura de repetición while en Java

EJERCICIO 1:  Hacer que el programa imprima tres veces la palabra “JAVA”:

Paso 1. GUI:

Paso 2. Codificio en Java:

protected void actionPerformedBtnProcesar(ActionEvent arg0) {
//BOTON PROCESAR
//PASO 1: Creo un contador y le indico que comience en 0, previamente he indicado su tipo. si se trata de un entero, un número real, etc.

int contador=0;

//PASO 2: Formateo mi pantalla con un setText en blanco, tipo los que uso para borrar pantalla.
txtS.setText(«»);
//PASO 3: Introduzco el método while, creo un contador y planteo la condición, en este caso, que no se repita la palabra «Java» más de 3 veces.

while (contador<3){

//PASO 4: Indico que se muestre la palabra Java.

txtS.append(«Java»+»\n»);

//INDICO QUE EL CONTADOR SUME DE UNO EN UNO

contador++;
}
}
}


 

EJERCICIO 2: Hacer que el programa imprima y sume 55 términos de la siguiente serie

5 ,12, 19, 26, 33 …(avanzan sumando +7)

Paso 1: Pantalla gráfica (GUI)

PASO 2: Programo en el JAVA:

protected void actionPerformedBtnProcesar(ActionEvent e) {
//DECLARO VARIABLES E INDICO SU TIPO

int numero=5, suma=0, contador=0;

//RESETEO PANTALLA
txtS.setText(«»);

//PONGO EL WHILE Y DETERMINO SU PRIMERA CONDICIÓN CON EL CONTADOR

while(contador<55)

//ABRO LLAVES
{

//PIDO QUE SE IMPRIMAN LOS NÚMEROS DE LA SERIE

txtS.append(numero+»\n»);

//PLANTEO LAS CONDICIONES PARA LAS OTRAS VARIABLES

//Con este += indico que a la suma se le va sumando cada número de la serie. 5+12+19+26…

suma += numero;

//Con este += indico que cada número de la serie avanza de 7 en 7, o el número que se me pida en el problema.
numero += 7;

//El ++, como en el ejercicio anterior, es para indicar que el contador sume de 1 en 1.

contador ++;

//CIERRO LLAVE DEL WHILE
}

//PIDO QUE SE IMPRIMA LA SUMA TOTAL DE LOS 55 NUMEROS DE LA SERIE

txtS.append(«Suma:»+suma);
}
}


Ejemplo 3: Hacer que el programa imprima y sume 40 términos de esta serie con fracciones

3/2, 7/5, 11/8, 15/11…

Lo separamos por numerador (el de arriba) y denominador (el de abajo)

** Para que en Java no me aparezca la división como número real (es decir; 3.0/2), tengo que multiplicar el valor en el proceso por 1.0.

Así: suma += (numero *1.0)/ denominador;

PASO 1: Armo mi pantalla gráfica

PASO 2: Codifico en Java.

protected void actionPerformedBtnProcesar(ActionEvent e) {
//BOTÓN PARA PROCESAR

//Declaro mis variables e indico su tipo.

int numerador=3, denominador=2, contador=0;
double suma=0;

//Reseteo pantalla

txtS.setText(«»);

// Declaro el método while.

while(contador<40)

//Abro llaves

{

// Imprimo los números de la serie, uso la barra slash para separarlos y darle aspecto de fracción.
txtS.append(numerador+»/»+denominador+»\n»);

//Aplico un *1.0 al numerador para que no me salga como número real.

suma += (numerador*1.0)/denominador;

// Indico al numerador que aumente de a cuatro.

numerador += 4;

// Indico al denominador que aumente de a tres.
denominador += 3;

// El contador crece de 1 en 1.

contador ++;

//Cierro llaves
}

// Imprimo la suma de todo
txtS.append(«La suma de todo es: «+ suma+ «\n»);
}
}

Pasos para crear métodos con valor de retorno en Java

Para los métodos con valor de retorno:

Primer paso: Crear GUI

Segundo paso: definir número y tipo de variables

Tercer paso: Hacer tu seudocódigo

Cuarto paso: Llamar métodos.

Para llamar métodos:

  • Los datos de entrada como getCantidad van solo acompañados de dos paréntesis () y un punto y coma (;).

Así:

marca=getMarca();

  • Los datos de entrada que requerirán un desarrollo como el que me calcule el importe a pagar incluyen dentro de los paréntesis las variables que usaré en el cálculo. Estas, a diferencia de las que irán cuando determine mis métodos, van sin la especificación de su tipo; es decir, el int o double o string antes.

Así:

ipag=CalcularImportePagar(marca,cant);

  • No olvides que el método para mostrar resultados va sin nombre.

Así:

mostrarReporte(regalo,ipag);

  • No olvides que aquí tiene que cerrar con una llave. Luego empiezas con la especificación de lo que hará cada método creado.

 

Quinto paso: Determinar métodos.

Para determinar métodos:

  • La estructura es la siguiente:
    indico el tipo de variable (real, entero, cadena…) + nombre del método+ Abro y cierro llaves. Dentro de las llaves va el proceso. A diferencia del código antes enseñado, acá no utilizamos el nombre de la variable, sino la palabra return. Todo lo demás es igual. No olvidar los paréntesis antes de las llaves, así vaya vacío.

Así:

int getMarca(){

return cboMarca.getSelectedIndex();

}

  • En el caso de que sea un método que requiere un proceso, como los métodos para calcular impuesto a pagar. Se hace lo siguiente: indico tipo de variable + nombre del método+ dentro de los paréntesis las variables a usar precedidas por su tipo. Aquí las variables cambian de nombre, pero se mantiene la ubicación con la que se presentan en el llamado de métodos.

Así:

double calcularImportePagar(int m, int c){

 

}

  • Dentro de las llaves va el proceso a seguir:

Así:

double calcularImportePagar(int m, int c){

switch(m){

case 0:return 35.0*c;

case 1:return 47.5*0*c;

default: return 60.0*c;

}

}

  • En el caso del método para mostrar resultados. Este irá precedido por la palabra void. Luego todo lo demás es parecido y conocido:

Así:

void mostrarReporte(double ip, int re){

txtS.setText(«El importe a pagar es: «+ip+»\n»);

txtS.append(«Te corresponden esta cantidad de lapiceros:»+re+»\n»);

}

 

}

 

Sexto paso: Para crear el método borrar:

protected void actionPerformedBtnBorrar(ActionEvent arg0) {

//CREO MI PROCESO

BorrarTodo();

}

//BOTON BORRAR

void BorrarTodo(){

txtS.setText(«»);

txtCantidad.setText(«»);

txtCantidad.requestFocus();

//cboProductos.setModel(«P1 S/.15.0»);

 

cboProductos.setSelectedIndex(0);

}

}

 

Ejercicios de aplicación de métodos con valor de retorno en Java

EJEMPLO DE EXAMEN:

Diseño de GUI:

GUI1

DATOS DEL EJERCICIO:

Producto Precio
P 0P 1

P 2

20.017.5

25.0

Segunda parte:

Cantidad Caramelos
<5>=5 y <10

>=10

23

2 por cada unidad

VARIABLES:

pro, ipag, can, car;

DESARROLLO DEL PROBLEMA:

protected void actionPerformedBtnProcesar(ActionEvent arg0) {

//CÓDIGO PARA EL BOTÓN PROCESAR

//DECLARO VARIABLES LOCALES

int pro,can,car;

double ipag;

// LLAMO MIS MÉTODOS

pro=getProducto();

can=getCantidad();

ipag=calcularImportePagar(pro,can);

car=calcularCaramelos(can);

mostrarReporte(ipag,car);

}

//DETERMINO MIS MÉTODOS

//PARA METODO 1

int getProducto(){

return cboProducto.getSelectedIndex();

}

//PARA MÉTODO 2

int getCantidad(){

return Integer.parseInt(txtCantidad.getText());

}

 

//PARA MÉTODO 3

double calcularImportePagar(int p, int c){

switch(p){

case 0: return 20.0*c;

case 1: return 17.5*c;

default: return 25.0*c;

}

}

 

//PARA MÉTODO 4

int calcularCaramelos(int c){

if(c<5)

return 2;

else

if (c<10)

return 3;

else

return 2*c;

}

 

// PARA MÉTODO 5

void mostrarReporte (double ip, int ca)

{

txtS.setText(«Importe a pagar: «+ip+»\n»);

txtS.append(«Caramelos a recibir:» +ca+»\n»);

//ACÁ TERMINA

}

}

 

EJERCICIO 2:

Una tienda vende camisas a los siguientes precios:

MARCA PRECIO
Adan

Abercrombie

Elegant

S/.35.0

S/.47.5

S/.60.0

 

Como incentivo la tienda regala 2 lapiceros por cada unidad adquirida para todas las compras.

Dadas la marca y la cantidad de camisas diseñe un programa que determine el importe a pagar y los lapiceros de obsequio.

Considere todas las variables como locales y use los siguientes métodos.

actionPerformed BtnProcesar

getMarca

getCantidad

calcularImportePagar

calcularLapiceros

mostrarReporte

 

VARIABLES
marca (entero)

Cant (entero)

Ipag (real)

Regalo (entero)

GUI:

 

CÓDIGO:

protected void actionPerformedBtnProcesar(ActionEvent e) {
//MI CÓDIGO PARA EL BOTÓN PROCESAR
int marca,cant,regalo;
double ipag;

//LLAMO MIS MÉTODOS
marca=getMarca();
cant=getCantidad();
ipag=calcularImportePagar(marca,cant);
regalo=calcularLapiceros(cant);
mostrarReporte(ipag,regalo);
}
// DEFINIR MÉTODOS
//MÉTODO 1:
int getMarca{
return cboMarca.getSelectedIndex();
}
//MÉTODO 2:
int getCantidad{
return Integer.parseInt(txtCantidad.getText());
}
//MÉTODO 3:
double calcularImportePagar(int m, int c){
switch(m){
case 0:return 35.0*c;
case 1:return 47.5*0*c;
default: return 60.0*c;
}
}
//METODO 4:
int calcularLapiceros(int c){
return 2*c;
}
// MOSTRAR RESULTADOS:
void mostrarReporte(double ip, int re){
txtS.setText(«El importe a pagar es: «+ip+»\n»);
txtS.append(«Te corresponden esta cantidad de lapiceros:»+re+»\n»);
}

}