Sie sind auf Seite 1von 20

Ejemplo en modo Windows

package Bienvenida;

import java.lang.String;

import javax.swing.JOptionPane;

/**

* @author Arturo

*/

public class Saludo extends javax.swing.JFrame {

private Object txtNombre;

/** Creates new form Saludo */

public Saludo() {

initComponents();

private void btnSaludoActionPerformed(java.awt.event.ActionEvent evt) {

// Código de edición de Mensaje

JOptionPane.showMessageDialog(this, "BIENVENIDO AL FABULOSO JAVA NETBEANS


IDE","Bienvenida",JOptionPane.INFORMATION_MESSAGE);

}
package Suma;
/**

* @author Arturo

*/

public class Suma extends javax.swing.JFrame {

/** Creates new form Suma */

public Suma() {

initComponents();

@SuppressWarnings("unchecked")

private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt) {

// Definir variables

int a,b,suma;

// Lectura de datos

a=Integer.parseInt(txtNum1.getText());

b=Integer.parseInt(txtNum2.getText());

// Calculo de proceso suma

suma=a+b;

// Salida de datos

txtResultado.setText("" +suma);

private void btnNuevoActionPerformed(java.awt.event.ActionEvent evt) {

// Limpia los controles y enfoca en el txtNum1

txtNum1.setText("");

txtNum2.setText("");

txtResultado.setText("");

txtNum1.requestFocus();
}
package Factura;
import javax.swing.JOptionPane;

public class Factura extends javax.swing.JFrame {

public Factura() {

initComponents();

@SuppressWarnings("unchecked")

private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt) {

// Variables locales

double consumo,dscto,vventa,impuestos,vfactura;

String porcentaje;

// Leer consumo

consumo=Double.parseDouble(txtMonto.getText());

// Calcular descuento

if(consumo>30){

dscto=consumo*0.20;

porcentaje="20%";

}else {

dscto=consumo*0.10;

porcentaje="10%";

// Calcular valor venta

vventa=consumo-dscto;

// Calcular impuestos

impuestos=vventa*0.18;

// Calcular valor factura

vfactura= vventa+impuestos;
// Mostrar resultados

txtResultado.setText(" \n Consumo\t\t:" + consumo + "\n");

txtResultado.append(" Descuento "+ porcentaje +"\t:" + dscto + "\n");

txtResultado.append(" Valor venta\t\t: " + vventa + "\n");

txtResultado.append(" Impuesto 18%\t\t:" + impuestos + "\n");

txtResultado.append(" Valor Factura\t\t:" + vfactura + "\n");

}
ESTRUCTURAS DE PROGRAMACION
En general, cada vez que aparezca de ahora en adelante la palabra acción podrá significar dos
cosas: o es una instrucción terminada en un punto y coma ó es un conjunto de instrucciones
agrupadas por llaves.

CONDICIONAL SIMPLE: if

Cuando se desea evaluar una comparación y hacer alguna acción tanto cuando la comparación
sea verdad.

Ejemplo

If (Comparación) if (x > 0)

acción; imprimir “positivo”

CONDICIONAL DOBLE: if-else

Cuando se desea evaluar una comparación y hacer alguna acción tanto cuando la comparación
sea verdad como cuando la comparación sea falsa.

Ejemplo

If (Comparación) if (nota>=13)

acción de verdad; imprimir ”aprobado”

else else

acción de falsedad; imprimir “desaprobado”

Ejemplo

Programa que
determina el estado de
evaluación de un estudiante si promedio (>=13 ) es aprobado si la condición es falsa
visualiza Desaprobado.
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

double nota;

nota=Double.parseDouble(txtnota.getText());

if (nota>=13)

lbl1.setText("Aprobado" );

else

lblDes.setText("desaprobado" );

CONDICIONAL EN CADENA: if-else-if

Cuando se desea evaluar consecutivamente varias operaciones, las cuales son excluyentes y
generalmente se trata de valores continuos, por Ejemplo. Para evaluar rangos de valores enteros
de 0 a 5, de 6 a 10 , de 11 a 15,.

Ejemplo

If (comparación1) if (x < 0 )

acción de verdad1; imprimir “negativo”;

else if (comparación2) else if ( x== 0)

acción de verdad2 imprimir “cero”;

else if (comparacion3) else

acción de verdad3; imprimir “positivo”;

else

acción de falsedad;
Ejemplo

Una compañía de teléfonos ha establecido sus tarifas por exceso de llamadas, de la siguiente
manera: si el número de llamadas no pasa de 50 no se considera exceso y paga una tarifa de
0.50 por llamada; pero si el número de llamadas pasa de 50 hasta un límite de 150, las llamadas
en exceso a 50 tendrán una tarifa de 0.80 por llamada y si el número de llamadas pasa de 150
las llamadas tendrán un exceso a 150 tendrán una tarifa de 1.10 por llamada. Se desea saber el
número total de llamadas en exceso y los importes calculados por exceso así como el importe
total que deberá pagar un cliente.

private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt) {

// Variables Locales

double tarifa0=0.50,tarifa1=0.80,tarifa2=1.10;

int limite0=50,limite1=150;

int llamadas, exceso0,exceso1,exceso2,total_exceso;

double importe,importe0,importe1,importe2;

//Leer numero de llamadas;

llamadas=Integer.parseInt(txtLlamadas.getText());

//Inicializar el número de llamadas en exceso con cero


total_exceso=exceso0=exceso1=exceso2=0;

//Calcular llamadas en exceso

if(llamadas<=limite0)

exceso0=llamadas;

else if(llamadas<=limite1){

exceso0=limite0;

exceso1=llamadas-limite0;

total_exceso=exceso1;

} else {

exceso0=limite0;

exceso1=llamadas-limite1;

total_exceso=exceso1+exceso2;

// Calcular importes a pagar

importe0=exceso0*tarifa0;

importe1=exceso1*tarifa1;

importe2=exceso2*tarifa2;

importe=importe0+importe1+importe2;

// Mostrar resultados

txtResultado.setText("Nombre\t : " + txtNombre.getText());

txtResultado.append("\nDireccion\t : "+txtDireccion.getText());

txtResultado.append("\nTelefono\t : " +txtTelefono.getText());

txtResultado.append("\nLlamadas en exceso : "+total_exceso);

txtResultado.append("\nImportes a Pagar:");

txtResultado.append("\nHasta 50 Llamadas:\t"+importe0);

txtResultado.append("\nHasta 150 Llamadas:\t"+importe1);

txtResultado.append("\nMas de 150 Llamadas:\t"+importe2);

txtResultado.append("\nPago Total:\t\t"+importe);
}

CONDICION COMPUESTA:

En cualquier tipo de condicional, la condición puede ser simple o compuesta. Se dice que una
condición es simple cuando tiene una sola comparación (no utiliza operadores lógicos). En
cambio, se dice que una condición es compuesta cuando tiene más de una comparación, para
lo cual utilizan necesariamente operadores lógicos Y, O. Por ejemplo.

if ( comparacion1 && comparacion2 ıı comparacion3)

acción de verdad;

Ejemplo

if ( x > 0 && x <= 5 )

imprimir “rango de a 5 inclusive”

Se recomienda usar el operador && para expresar un rango continuo de lo contrario debe
utilizar el operador ıı

Ejemplo if ( x < 0 ıı x > 20 )

Imprimir “ fuera del rango 0 a 20”

SELECCIÓN MULTIPLE: switch

Cuando se selecciona una opción entre varias.

switch (variable) {

case valor 1: acción 1; break;

case valor 2: acción 2; break;

case valo3 3: acción 3; break;

// …

default: acción x:

Compara el valor contenido en la variable con cada uno de los valores situados después del case,
ejecutando en caso de que exista coincidencia la acción correspondiente. Si no existe
coincidencia, se ejecuta la acción correspondiente al caso default. Y si no se pusiera el default,
simplemente no ejecuta ninguna instrucción dentro del switch.
La orden break hace que la ejecución salga del switch; de no ponerlo se ejecutaran todas las
ordenes hacia abajo sin importar el valor de los cases hasta encontrar un break o la llave de
cierre del switch.
Ejemplo

Dado un número de mes, determinar el nombre del mes correspondiente y el nombre de la


estación a la que pertenece asumiendo que cada estación comprende 3 meses exactos.

private void cboMesActionPerformed(java.awt.event.ActionEvent evt) {

//Variables locales

int numMes=0;

String estacion="", nombreMes="";

//Leer el número de mes elegido

if(cboMes.getSelectedIndex()!=0)

numMes=Integer.parseInt(cboMes.getSelectedItem().toString());

// Determinar estacion

switch(numMes) {

case 1:case 2: case 3:

estacion = "Verano";

break;

case 4: case 5: case 6:

estacion = "Otoño";

break;
case 7: case 8: case 9:

estacion = "Invierno;";

break;

case 10: case 11: case 12:

estacion ="Primavera";

break;

default: // Ningún caso anterior

} // fin del switch

// Determinar Nombre del Mes

switch (numMes){

case 1: nombreMes = "Enero"; break;

case 2: nombreMes = "Febrero"; break;

case 3: nombreMes = "Marzo"; break;

case 4: nombreMes = "Abril"; break;

case 5: nombreMes = "Mayo"; break;

case 6: nombreMes = "Junio"; break;

case 7: nombreMes = "Julio"; break;

case 8: nombreMes = "Agosto"; break;

case 9: nombreMes = "Setiembre"; break;

case 10: nombreMes = "Octubre"; break;

case 11: nombreMes = "Noviembre"; break;

case 12: nombreMes = "Diciembre"; break;

default:

nombreMes="Desconocido";

}//FIN SWITCH

txtSalida.setText("\nMes \t: " + nombreMes + "\n");

txtSalida.append("Estacion\t: " + estacion );

}
ESTRUCTURA REPETETIVA: while

Repite la ejecución de la acción mientras la expresión lógica siga siendo verdad. Cuando sea
falsa, el proceso termina.

Inicialización

While (condicion) {

Acción

Variación

Ejemplo

Imprimir los 100 primeros números naturales.

int n=1; // inicialización

while ( n<= 100 ) {

Imprimir n

n++ // aumenta en 1

Note que mientras la condición sea verdad, se seguirá ejecutando la acción.

private void btnProcesarMouseClicked(java.awt.event.MouseEvent evt) {


int n=1; // inicialización

while ( n<= 100 ) {

txtSalida.append(" " + n+"\n");

n++; // aumenta en 1

}
ESTRUCTURA REPETETIVA: do - while

Igual que la anterior, con la única diferencia que la anterior avalúa la condición antes de ejecutar
la acción. En cambio, el do while evalúa la condición después de realizar la acción por lo menos
una vez.

Esta estructura de programación repetitiva es recomendable cuando la acción se va a realizar


de todas maneras, por lo menos una vez, o cuando no se sabe la cantidad de veces que se va a
repetir la acción.

Inicialización

do {

Acción

Variación

} while (condición ) ;

Ejemplo

Imprimir los 100 primeros números naturales.

nt n=1; // Inicialización

do {

Imprimir n

n++ // aumenta en 1

} while ( n <= 100 ) ;

private void btnProcesarActionPerformed(java.awt.event.ActionEvent evt) {

int n=1; // Inicialización

do {

txtResultado.append(" " + n + "\n");

n++; // aumenta en 1

} while ( n <= 100 ) ;

}
ESTRUCTURA REPETETIVA: for

Es un while simplificado, mucho más rápido y eficaz. Muy preferido por los programadores.

Sintaxis:

for ( inicialización; condición; variación ) {

acción;

Ejemplo

Imprimir los 100 primeros números naturales.

for ( int n=1; n <= 100; n++ ) {

Imprimir n;

Note que la variación se relaciona con la variable utilizada en la condición.

En este caso lo primero que hará será la inicialización(n=1;) luego comprobara si es cierta la
comparación (n<=100) y de ser verdad, ejecutara las instrucciones. Finalmente ejecutara la
variación (n++ ). Luego comprobara de nuevo la comparación para continuar con el proceso
repetitivo o para finalizar cuando el resultado de la comparación sea falsa.

Observe que todo proceso repetitivo necesita de una previa inicialización de algún contador,
acumulador, estado, lo cual permite la evaluación de la condición que controla la repetición del
proceso.

La inicialización puede contener varias órdenes de asignación separadas por comas y terminado
con el punto y coma. Igualmente la variación puede contener varias órdenes de variación y/o
acumulación separadas por comas y terminando con el paréntesis del for, Por ejemplo vea el
siguiente for hipotético:

for ( int a=1,b=0,c=2; a <=n; a++,b+=3, c+= x ) {

Mas ordenes

Ejemplo

Diseñe una aplicación que permita ingresar un número cualquiera y el límite para mostrar su
tabla de multiplicar del 1 hasta límite ingresado.
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

procesar();

private void btnBorrarActionPerformed(java.awt.event.ActionEvent evt) {

borrar();

private void btnCerrarMouseClicked(java.awt.event.MouseEvent evt) {

this.dispose();

public void borrar(){

txtNumero.setText("");

txtLimite.setText("");

txtSalida.setText("");

txtNumero.requestFocus();

public void procesar(){


//variables locales

double numero;

int limite;

//leer numero y limite

numero=Double.parseDouble(txtNumero.getText());

limite=Integer.parseInt(txtLimite.getText());

//Titulo

txtSalida.setText("\n TABLA DE MULTIPLICAR del 1 al " +limite);

txtSalida.append("\n\tpara el numero "+numero);

//Proceso repetitivo que muestra la tabla

for(int cont=1;cont<=limite;cont++){

double producto=cont*numero;

txtSalida.append("\n"+numero +" x "+cont+" = "+ producto);

}// fin del for

Das könnte Ihnen auch gefallen