You are on page 1of 53

Curso: BSI-03 Programacin I Universidad Latina

CONTENIDO
1. VARIABLES Y TIPOS DE DATOS ............................................................................................................. 2 1.1 1.2 1.3 2. Variables ...................................................................................................................................... 2 Tipos de datos .............................................................................................................................. 2 Conversin explcita de tipos (Casting).......................................................................................... 3

OPERADORES ...................................................................................................................................... 4 2.1 2.2 2.3 2.4 2.5 2.6 Introduccin ................................................................................................................................. 4 Operadores Aritmticos ............................................................................................................... 4 Operadores Relacionales y Condicionales ..................................................................................... 4 Operadores Relacionales And y Or ................................................................................................ 4 Operadores de Asignacin ............................................................................................................ 5 Precedencia de Operadores en Java ............................................................................................. 5

3.

SENTENCIAS DE CONTROL DE FLUJO.................................................................................................... 5 3.1. Toma de decisiones ...................................................................................................................... 5 If ........................................................................................................................................... 5 If/else ................................................................................................................................... 6 Switch ................................................................................................................................... 7

3.1.1. 3.1.2. 3.1.3. 3.2.

Bucles o ciclos .............................................................................................................................. 8 For ........................................................................................................................................ 8 While / Do While .................................................................................................................. 9

3.2.1. 3.2.2. 4. 5. 6. 7. 8.

EL ENTORNO DE DESARROLLO DE NETBEANS .....................................................................................11 PRIMER PROYECTO EN JAVA ..............................................................................................................13 ABREVIATURA DE LOS NOMBRE DE LOS CONTROLES BSICOS DE JAVA ............................................17 EJERCICIOS EN NETBEANS 6.9.1 EN ESPAOL .....................................................................................18 UTILIZACIN DE LAS CAJAS DE TEXTO PARA CAPTURA DE DATOS......................................................36

10. PROGRAMAS CON CLCULOS .............................................................................................................39 11. CUADROS DE MENSAJE, CONFIRMACIN E INTRODUCCIN DE DATOS .............................................42 12. CADENAS ............................................................................................................................................43 13. LA CLASE JFRAME ...............................................................................................................................45 14. VARIABLES GLOBALES ........................................................................................................................45 15. CUADROS DE DILOGO ......................................................................................................................47 16. EJERCICIOS PROPUESTOS....................................................................................................................50 16.1. 16.2. Sentencias de control repetitivas .................................................................................................50 Ejercicios propuestos funciones ...................................................................................................52

Curso: BSI-03 Programacin I Universidad Latina

1. VARIABLES Y TIPOS DE DATOS 1.1 Variables Las variables se utilizan para almacenar datos asociados a nombres. Cada variable tiene un nombre que sirve de referencia para introducir datos o acceder a los mismos. Un ejemplo de utilizacin de variable es: Edad = 23; en este caso, introducimos el valor numrico 23 en la variable Edad. A partir de ahora podemos utilizar la variable a travs de su nombre (Edad) para referirnos a su valor (23). Los nombre de las variables, en Java, pueden tener cualquier longitud y deben comenzar con una letra, el smbolo de subrayado _ o el dlar $. El resto de los caracteres del nombre pueden ser cualquiera, salvo los que puden dar lugar a confusin. Los nombre de variables no deben tener espacios en blanco, puesto que el compilador identifacara ms de una variable; por ejemplo, NumeroDeAciertos es un nombre de variable correcto, sin embargo Numero De Aciertos no lo es, porque el compilador identificara tres variables diferentes: Numero, De y Aciertos. Los nombre de variables no deben coincidir con palabras reservadas (tales como public, static, class, final, main, etc.). Existe una serie de palabras reservadas las cuales tienen un significado especial para Java y por lo tanto no se pueden utilizar como nombres de variables. Dichas palabras son:

(*) Son palabras reservadas, pero no se utilizan en la actual implementacin del lenguaje Java. En Java, los identificadores de variables suelen definirse empezando por un carcter en minscula, por ejemplo contador. Si en el identificador existe ms de una palabra, los comienzos del resto de las palabras se ponen con maysculas, ejemplo: contadorDeAciertos. Los identificadores deben ser representativos de los datos que almacenan, de esta manera valorAcumulado, numeroAlumnos, cantidadEuros, edad, potencia son variables que determinan de forma adecuada el significado de sus contenidos, mientras que los nombres de variable: valor V1, V2, X, Y, Z no son representativos de sus contenidos. La longitud de los identificadores no debe ser excesivamente larga, para no dificultar la legibilidad de las instrucciones. Los identificadores en mayscula se suelen reservar para nombres (normalmente cortos) de constantes, de esta manera las instrucciones son ms legibles, al utilizarse minsculas. Ejemplo: PI, STOCK, PRECIOHORA, IVA, etc. 1.2 Tipos de datos Las variables almacenan datos de diferentes tipos (numrico decimal, numrico entero, caracteres, etc.). Para indicar el tipo de dato que contendr las variables debemos declarar las mismas, indicando sus tipos. Este mecanismo permite que el traductor (compilador) realice las comprobaciones estticas de validez, como por ejemplo que no empleamos en el programa una variable que no ha sido declarada, que no asignemos un carcter a una variable de tipo numrico, que no sumemos un carcter a un valor numrico, etc. A continuacin se establece una relacin de los tipos de datos primitivos (los que proporciona el lenguaje):

Curso: BSI-03 Programacin I Universidad Latina

TIPOS PRIMITIVOS NOMBRE DEL TIPO TAMAO EN BYTES TIPOS NUMRICOS ENTEROS Byte 1 Short 2 Int 4 Long 8 TIPOS NUMRICOS DECIMALES Float 4 double 8 tipo carcter Char 2 String TIPO LGICO (BOOLEANO) boolean 1 Para declara una variable se emplea la sintaxis:

RANGO -128 a 127 -32768 a 32767 -231 a 231 -263 a 263 -3.4x1038 a 3.4x1038 -1.7x10308 a 1.7x10308 Almacena un solo carcter Almacena un conjunto de caracteres true, false

tipo identificador; //declara una variable tipo identificador [= valor]; //declara e inicializa una variable tipo identificador1, identificador2, identificador3, etc.; //declara varias variables del mismo tipo tipo identificador1=valor1, identificador2=valor2, etc.; // declara e inicializa varias variables del mismo tipo

Por ejemplo:
byte edad = 60; short sueldoMensual; float PrecioEuros, cateto1, cateto2, hipotenusa; boolean adquirido=false, finalizado=true;

1.3 Conversin explcita de tipos (Casting) Resulta muy habitual que en los programas nos encontremos con la necesidad de mezclar tipos de datos, por ejemplo al trabajar con un biblioteca matemtica que obliga a utiizar tipos de datos double, cuando nosotros las variables las tenemos de tipo float, o mas sencillo todava, al intentar sumar un 1 (por defecto int) a una variable tipo short. Java en algunos casos, realiza una conversin implcita de datos, sin embargo, por regla general, nos veremos obligados a programar conversiones explcitas de tipos. Para modificar el tipo de un valor, basta con indicar el nuevo tipo entre parntesis antes del valor, por ejemplo: (byte) 1 convierte el 1 (int) a byte (double) MiVariableDelTipoFloat convierte a doubl una variable de tipo float (short) (VariableDeTipoByte + VariableDeTipoByte) convierte a short el resultado de sumar dos variables de tipo byte.

Curso: BSI-03 Programacin I Universidad Latina

2. OPERADORES 2.1 Introduccin Los operadores nos permiten realizar operaciones sobre los operandos. Existen operandos unuarios y binarios; un ejemplo de operador unuario es la negacin lgica (!). Los operadores tienen unas reglas de precedencia que resulta importante tener en cuenta. 2.2 Operadores Aritmticos Esta tabla resume todas las operaciones aritmticas binarias en Java: Operador Uso Descripcin + op1 + op2 Suma op1 y op2 op1 - op2 Resta op2 de op1 * op1 * op2 Multiplica op1 y op2 / op1 / op2 Divide op1 por op2 % op1 % op2 Obtiene el resto de dividir op1 por op2 Nota: El lenguaje Java extiende la definicin del operador + para incluir la concatenacin de cadenas. Adems, existen dos operadores de atajos aritmticos, ++ que incrementa en uno su operando, y -- que decrementa en uno el valor de su operando. Operador ++ ++ --Uso op ++ ++op op --- op Descripcin Incrementa op en 1; evala el valor antes de incrementar Incrementa op en 1; evala el valor despus de incrementar Decrementa op en 1; evala el valor antes de decrementar Decrementa op en 1; evala el valor despus de decrementar

2.3 Operadores Relacionales y Condicionales Los valores relacionales comparan dos valores y determinan la relacin entre ellos. Por ejemplo, != devuelve true si los dos operandos son distintos. Esta tabla resume los operadores relacionales de Java: Operador Uso Devuelve true si > op1 > op2 op1 es mayor que op2 >= op1 >= op2 op1 es mayor o igual que op2 < op1 < op2 op1 es menor que op2 <= op1 <= op2 op1 es menor o igual que op2 == op1 == op2 op1 y op2 son iguales != op1 != op2 op1 y op2 son distintos 2.4 Operadores Relacionales And y Or Operador Uso Devuelve true si && op1 && op2 op1 y op2 son verdaderos || op1 || op2 uno de los dos es verdadero ! ! op op es falso El operador & se puede utilizar como un sinnimo de && si ambos operadores son booleanos. Similarmente, | es un sinnimo de || si ambos operandos son booleanos.

Curso: BSI-03 Programacin I Universidad Latina

2.5 Operadores de Asignacin Puedes utilizar el operador de asignacin =, para asignar un valor a otro. Adems del operador de asignacin bsico, Java proporciona varios operadores de asignacin que permiten realizar operaciones aritmticas, lgicas o de bits y una operacin de asignacin al mismo tiempo. Especficamente, suponga que quieres aadir un nmero a una variable y asignar el resultado dentro de la misma variable, como esto: i = i + 2; Puedes ordenar esta sentencia utilizando el operador +=. i += 2; Las dos lneas de cdigo anteriores son equivalentes. Esta tabla lista los operadores de asignacin y sus equivalentes: Operador Uso Equivale a += op1 += op2 op1 = op1 + op2 -= op1 -= op2 op1 = op1 - op2 *= op1 *= op2 op1 = op1 * op2 /= op1 /= op2 op1 = op1 / op2 %= op1 %= op2 op1 = op1 % op2 2.6 Precedencia de Operadores en Java operadores sufijo [] . (params) expr++ expr-operadores unarios ++expr --expr +expr -expr ~ ! creacin o tipo new (type)expr multiplicadores */% suma/resta +relacionales < > <= >= instanceof igualdad == != AND lgico && OR lgico || condicional ?: asignacin = += -= *= /= %= ^= &= |= <<= 3. SENTENCIAS DE CONTROL DE FLUJO Las sentencias de control de flujo determinan el orden en que se ejecutarn las otras sentencias dentro del programa. El lenguaje Java soporta varias sentencias de control de flujo, incluyendo: Sentencias Palabra clave Toma de decisiones if-else, switch-case Bucles ciclos for, while, do-while Excepciones try-catch-finally, throw Miscelneas break, continue, return 3.1. Toma de decisiones 3.1.1. If La sentencia if (o si condicional), le permite a un programa decidir, mediante la evaluacin de una condicin o varias condiciones, ejecutar una u otra accin o acciones. La sintaxis General es La siguiente: if(condicion1) Accion1;

Curso: BSI-03 Programacin I Universidad Latina

En donde: Condicin 1: Representa una expresin que puede ser del tipo booleana. Accin 1: es la accin que, al evaluar la condicin como verdadera, se ejecutar. Si son varias acciones, van entre llaves. Ejemplo if Programa en java que solicita al usuario su edad, y si este es mayor se lo indica al usuario.

Explicacin: En la lnea 18 se declara y se inicializa la variable entera edad. En la lnea 20 se declara una variable con el nombre lectura de tipo Scanner que se utiliza para lectura de datos. En la lnea 23 se le asigna a la variable edad el valor digitado por el usuario, que es introducido gracias a la variable lectura (esta debe ser convertida a integer). En la lnea 24 se utiliza la sentencia if para evaluar el valor de edad y si esta es mayor o igual a 18 se informa al usuario. 3.1.2. If/else En las sentencias if, podemos agregar la sentencia else, la cual indica que, si al evaluar la condicin, sta es falsa, entonces, realizar las acciones, que estn despus del else. La sintaxis es la siguiente: if(condicin1) { Acciones; } else { Condiciones; } Ejemplo if/else Al ingresar la nota de un alumno, se desea saber si ste aprob o no, una materia en el colegio. Se sabe que para aprobar, se necesita una nota mayor o igual a 70.0. Disee una aplicacin en Java que, al ingresar la nota, muestre con un mensaje, si el alumno, aprob o no.

Curso: BSI-03 Programacin I Universidad Latina

Explicacin: En la lnea 24, colocamos una condicin, si el alumno alcanza una nota mayor o igual a 70, aprob el examen caso contrario lo reprob. Sentencia else/if Anidadas Esta estructura, es una consecuencia de las estructuras if anidadas, su formato es el siguiente: if(condicion1) Sentencia 1; elseif(condicion2) Sentencia 2; ... else Sentencia n; Funciona de la siguiente manera: Se evala la primera condicin, si resulta verdadera se ejecuta la sentencia 1, y se contina con la ejecucin del programa; de lo contrario, de evala la condicin 2, si resulta verdadera, se ejecuta la sentencia 2, de lo contrario se evala la condicin 3 y as sucesivamente. Si al evaluar todas las condiciones, ninguna resulta verdadera, se ejecuta el bloque del else. 3.1.3. Switch Cuando en una condicin existen diversas posibilidades, nos vemos obligados a programar usando if anidados, lo que complica la realizacin y depuracin de cdigo. Para facilitar la programacin en estas situaciones, se proporciona la instruccin condicional switch, que permite definir un nmero ilimitado de ramos basadas en la misma condicin. Sintaxis switch(expresin) {case valor1: Instrucciones; break; case valor2: instrucciones; break; default: instrucciones; break; } Cuando el flujo de control del programa llega a la instruccin switch, lo primero que se hace es evaluar la expresin, despus se va comparando el valor de cada clausula case con el resultado de la evaluacin de la expresin. Cuando en una instruccin case coinciden los valores, se ejecutan las instrucciones asociadas

Curso: BSI-03 Programacin I Universidad Latina

hasta alcanzar la sentencia break. Si no se incluyen break en un case, se ejecutan todas las instrucciones siguientes (correspondientes a los siguientes grupos case) hasta que se encuentra un break o se termina la instruccin switch. Es importante tener en cuenta que la expresin asociada a la instruccin switch solo debe generar valores de tipo: char, byte, short o int. Ejemplo switch
public static void main(String[] args) { Scanner lectura = new Scanner(System.in); int numero1 = 0, numero2, resultado = 0, operacion = 0; System.out.print("Digite el nmero 1: "); numero1 = lectura.nextInt(); System.out.print("Digite el nmero 2: "); numero2 = lectura.nextInt(); System.out.print("Digite la operacin a realizar (1. Sumar/ 2. Restar) ?:"); operacion = lectura.nextInt(); switch (operacion) { case 1: System.out.println("Elegi realizar una suma"); resultado = numero1 + numero2; break; case 2: System.out.println("Elegi realizar una resta"); resultado = numero1 - numero2; break; default: System.out.println("No eligi el nmero 1 2"); System.out.println("Las opciones son 1 2. Por favor intente de nuevo"); break; } System.out.println("El resultado es: "+resultado); }

3.2. Bucles o ciclos 3.2.1. For En algunas ocasiones, sabemos a ciencia cierta el nmero de veces que se tiene que repetir una misma accin o bloque de acciones. Y para ello es que nos sirve, esta estructura. Su sintaxis es la siguiente: for( valor inicial; condicin; incremento) accion; Donde: Valor inicial: es el valor con el cual inicializamos nuestra variable de control. Condicin: si la cumple, ejecuta la accin o acciones e incrementa o decrementa la variable de control, sino la cumple la condicin, se sale del ciclo. Incremento: que puede ser positivo o negativo (decremento). La semntica (significado) de la instruccin es la siguiente: se inicializa una variable (inicializacin), se evala la condicin de continuidad y, s se cumple, se ejecutan las instrucciones situadas entre las llaves, finalmente se ejecuta la expresin de variacin y se repite el ciclo hasta que la condicin de continuidad se evala como false.

Curso: BSI-03 Programacin I Universidad Latina

Ejemplo:

Salida del programa

En el ejemplo anterior se declara una variable de tipo int en la lnea 4 (for). El bucle for contiene sus tres secciones obligatorias, separadas por ; Declaracin e inicializacin; int ndice =1 Condicin de continuidad: ndice <=10 Expresin de incremento: ndice++ que es igual a ndice=ndice+1 3.2.2. While / Do While El bucle while nos permite repetir la ejecucin de una serie de instrucciones mientras que se cumpla una condicin de continuidad. Su uso resulta recomendable cuando no conocemos a priori el nmero de iteraciones que debemos realizar. El bucle while tiene dos posibles sintaxis: while (condicin de continuidad){ Instrucciones a ejecutar en forma repetitiva } do{ instrucciones a ejecutar en forma repetitiva }while(condicin de continuidad); En ambos casos se itera o repite mientras que la condicin de continuidad se cumpla, abandonndose el bucle cuando la condicin se evala como false. En el primer caso puede ocurrir que las instrucciones interiores del bucle nunca se ejecuten (si la primera vez que se evala la condicin resulta como false); en el segundo caso las instrucciones interiores al bucle se ejecutan al menos una vez.

Curso: BSI-03 Programacin I Universidad Latina

Ejemplos: En el siguiente ejemplo se muestra una implementacin muy sencilla del bucle while en la que se pretende imprimir los nmeros 1, 2, 3, y 4. Puesto que conocemos a priori el nmero de iteraciones sera ms adecuado utilizar un bucle for, pero se ha escogido este ejemplo sencillo para mostrar una primera implementacin del bucle while.

En el ejemplo se declara una variable de tipo int en la lnea 6 y se inicializa a 1; esta variable actuar como contador de iteraciones en el bucle. En la lnea 7 se establece la condicin de continuidad del bucle (se itera mientras que i<=4). La lnea 9 se encarga de imprimir el valor de y la lnea 10 de incrementarlo. Un error muy frecuente cuando se codifica un bucle while es olvidar incrementar al contador (lnea 10), generando un bucle infinito. En nuestro ejemplo tambin crearamos un bucle infinito si olvidramos las llaves delimitadoras del mbito del bucle.

A continuacin se muestra la forma alternativa de utilizar un bucle while : do{}while(condicin); la semntica en este ejemplo es la misma que en el anterior (se imprimen los valores de 1 a 4). El detalle de la ejecucin vara respecto a que la condicin de continuidad se evala al final en lugar al comienzo del bucle.

10

Curso: BSI-03 Programacin I Universidad Latina

4. EL ENTORNO DE DESARROLLO DE NETBEANS Construccin de su primera aplicacin con NetBeans. Inicialmente nos enfocaremos en aprender acerca del entorno de desarrollo de NetBeans y de algunas de las herramientas que proporciona para la construccin de aplicaciones. Aunque NetBeans cuenta con ms herramientas de las que usted probablemente utilizara en cualquier otro trabajo de desarrollo de aplicaciones (incluso ms de las que aprendera a utilizar en todo este manual), limit el enfoque a las principales herramientas que utilizara a lo largo de este manual, as como las aplicaciones que construir con NetBeans. El entorno de desarrollo de NetBeans: Deber iniciar el programa de NetBeans IDE 6.7.1 en Espaol en su computadora, con el fin de observar directamente como se organizan cada una de las reas y como puede modificarlas y alterar la organizacin. Despus que inicie el entorno de desarrollo, vera una ventana similar a la que se muestra en la figura 1. Cada una de las reas tiene un propsito especfico en el entorno. Puede volver a organizar estas reas para personalizar el entorno de Desarrollo de NetBeans con el fin de que se ajuste a sus necesidades particulares de desarrollo. El panel de Workspace Cuando inicie por primera vez NetBeans, el rea que se ubica en el extremo izquierdo del Entorno, Esta rea se conoce como workspace y ser su clave para navegar a travs de los diversos componentes y partes de sus proyectos de desarrollo. El workspace muestra las partes de su aplicacin en dos formas distintas: Proyectos: Permite navegar y manipular su cdigo fuente. Archivos: Permite encontrar y editar cada uno de los diferentes recursos de su aplicacin, incluyendo los diseos, iconos y mens de la ventana. Figura 1. Ventana de Apertura de NetBeans IDE.
Panel Workspace Barra de herramientas Standard Barra Build

Pgina de inicio

Panel Output

11

Curso: BSI-03 Programacin I Universidad Latina

El panel Output El panel Output tal vez no est visible al iniciar NetBeans por primera vez. Una vez compilada su primera aplicacin, dicho panel aparecer en la parte inferior del entorno y permanecer abierto hasta que usted decida cerrarlo. El panel Output es el lugar donde presenta cualquier informacin que deba proporcionarle el programa. Adems es donde usted podr observar las instrucciones de progreso del compilador, las advertencias y los mensajes de error. Despus de que cierre el panel output, este se abrir automticamente cuando NetBeans necesite desplegar un mensaje. El rea de edicin La parte del extremo derecho del entorno de desarrollo es el rea de edicin. Ah es donde usted realizara toda su edicin cuando utilice NetBeans; tambin es el lugar donde se desplegaran las ventanas necesarias para editar el cdigo fuente, as como el lugar donde se desplegar la ventana necesaria para disear su aplicacin. Las Barras de Mens Al ejecutar NetBeans por primera vez se desplegaran dos barras de herramientas debajo de la barra de mens. Hay muchas otras barras de herramientas disponibles, a dems puede personalizar y crear las suyas propias para adecuarlas a su mejor forma de trabajar. Las dos barras de herramientas que se abren inicialmente son las siguientes: La barra de herramientas Standard contiene la mayora de las herramientas estndar para abrir y guardar archivos, cortar, copiar, pegar y para una gran variedad de comandos que son sumamente tiles. La barra Build le ofrece los comandos de construccin y de ejecucin que seguramente utilizara cuando desarrolle y pruebe sus aplicaciones. Como reorganizar el entorno de NetBeans El programa ofrece una forma sencilla de reorganizar su entorno de desarrollo. La primera es el hacer clic con el botn derecho en el rea de las barras de herramientas. Esta accin abre el men contextual que se muestra en la figura 1.2, el cual permite activar y desactivar las diversas barras de herramientas. Figura 2 Men para activar y desactivar barras de herramientas

Como volver a abrir alguna de las ventanas de NetBeans que ya no estn visibles. En el men Ventana podr activar cualquiera de las ventanas o paneles que no estn visibles en la pantalla de NetBeans.

12

Curso: BSI-03 Programacin I Universidad Latina

5. PRIMER PROYECTO EN JAVA PASOS Abra el programa NetBeans IDE 6.8 en Espaol Elija en el men Archivo la opcin Proyecto Nuevo

Elija la lista de Categoras: Java y de la lista de tipos de Proyectos Aplicacin Java. Haga clic en Siguiente >.

13

Curso: BSI-03 Programacin I Universidad Latina

Elija el nombre y la ruta donde desea guardar el proyecto. Recuerde que si lo desea lo puede guardar en su llave maya, dando clic en el botn Examinar, para buscar la ruta o direccin. Ponga el nombre HolaMundoJava. Presione el botn Terminar.

Terminado el paso anterior, ha construido la funcin principal o programa principal que se ejecuta inicialmente al correr su programa. La pantalla que se mostrada ser la siguiente:

A
El icono de taza de caf identifica el proyecto

Es aqu esta lnea donde se llama al primer formulario inicial de su programa.

14

Curso: BSI-03 Programacin I Universidad Latina

El proyecto se habr creado y se abrir el IDE. Deberas de ver los siguientes componentes: La ventana de Proyectos, la cual contiene una vista de rbol de los componentes del proyecto, incluyendo los archivos fuente, las libreras de las que depende t cdigo y as sucesivamente. La ventana de Edicin de Cdigo, con un archivo llamado holamundojava abierto. La ventana del Navegador, la cual puedes utilizar para navegar rpidamente entre los elementos de la clase seleccionada. CREACIN DE FORMULARIO Posteriormente vamos a crear un formulario (pantalla) que sirva como interfaz grfico del proyecto. Presiona el botn derecho sobre el paquete holamundojava posteriormente la opcin Formulario Form . Elije la opcin Nuevo y

Aparecer la siguiente ventana donde le solicita el nombre del formulario, el cul ser frmHolaMundoJava, el texto frm indica que es un formulario y HolaMundoJava que nos servir para nombrar el formulario. Presiona el botn Terminar.

El programa guarda el formulario en forma automtica dentro del proyecto. Aparecer la siguiente ventana. Coloque de la paleta Swing un objeto Etiqueta, un Objeto Campo de Texto y un Botn.

15

Curso: BSI-03 Programacin I Universidad Latina

txtNombre btnProcesar

Cambia la propiedad text y el nombre de los objetos colocados segn la siguiente tabla.
Objeto JLabel1 JTextField1 Text Nombre Dejar blanco Name etiNombre txtNombre

JButton1 Procesar btnProcesar Para incluir el cdigo fuente al programa debemos presionar doble clic sobre el botn Procesar, esta accin

nos llevar al editor de cdigo fuente, donde digitaremos la siguientes instrucciones en java.

16

Curso: BSI-03 Programacin I Universidad Latina

Presione un clic sobre el bombillo, de la lista desplegable elija Aadir import a javax.swing.JOptionPane.

EJECUTAR CORRER EL FORMULARIO Presione el botn derecho sobre cualquier parte del rea de cdigo, de la lista desplegable elija la opcin Run File. La salida ser la siguiente

6. ABREVIATURA DE LOS NOMBRE DE LOS CONTROLES BSICOS DE JAVA Existe una convencin para los nombres de los controles: Se utiliza siempre tres letras minsculas que indican el tipo de control, seguidas por otras letras (La primera mayscula, a modo de separacin) libremente escogidas por el usuario, que tienen que hacer referencia al uso que se va a dar a ese control. Control Abreviatura Formulario JFrame frm Etiqueta Botn Botn de 2 posiciones Casilla de activacin Botn de opcin Grupo de botones Lista desplegable Campo de texto rea de texto Tabla Lista de la AWT eti btn btn chk opc gropc cbo txt txt Tbl lst

17

Curso: BSI-03 Programacin I Universidad Latina

7. EJERCICIOS EN NETBEANS 6.9.1 EN ESPAOL OBJETIVO: Elaborar la interfaz grfica de los ejercicios realizados en las prcticas de Diagramas de Flujos (D-F) realizados en las primeras semanas de programacin I. 7.1. Creacin del proyecto Abra el programa NetBeans IDE 6.8 en Espaol Elija en el men Archivo la opcin Proyecto Nuevo

Elija la lista de Categoras: Java y de la lista de tipos de Proyectos Aplicacin Java. Haga clic en Siguiente >.

Elija el nombre y la ruta donde desea guardar el proyecto. Recuerde que si lo desea lo puede guardar en su llave maya, dando clic en el botn Examinar, para buscar la ruta o direccin. Ponga el nombre ProyectoI. Presione el botn Terminar.

18

Curso: BSI-03 Programacin I Universidad Latina

Al presionar el botn Terminar, ha construido la funcin principal o programa principal que se ejecuta inicialmente al correr su programa. La pantalla que se mostrada ser la siguiente:

El icono de taza de caf identifica el proyecto

Es aqu esta lnea donde se llama al primer formulario inicial de su programa.

7.2. Creacin de formulario principal (men para acceder a los diferentes formularios) Vamos a crear un formulario que sirva como men para acceder a todas las pantallas o formularios de los ejercicios realizados con Diagramas de Flujo pero realizados en Java. Para ello haz clic en el botn derecho sobre el paquete proyectoi, elije la opcin New y posteriormente la opcin JFrame Form

Aparecer la ventana donde le solicita el nombre del formulario, el cul ser frmMenu, el texto frm indica que es un formulario y men que nos servir como el men para acceder a los dems formularios pantallas de cada ejercicio. Nota: Este formulario es guardado en forma automtica dentro del ProyectoI creado.

19

Curso: BSI-03 Programacin I Universidad Latina

Aparecer la siguiente ventana

Coloque sobre el frmMenu un objeto jPanel que seleccionar de la Paleta Contenedores. Ajuste el tamao del JPanel al tamao del frmMenu. (Como las formas de Word)

Seleccione el objeto JPanel En la venta de propiedades de este objeto haz clic sobre la propiedad border y cambia los siguiente: Al elegir la propiedad border donde estn los tres puntitos *+, se abrir la siguiente ventana, elige de los bordes disponibles la opcin TitleBorder

20

Curso: BSI-03 Programacin I Universidad Latina

, esta opcin permite poner un titulo y un borde al JPanel. Escribe en el espacio Title lo siguiente: Men de Opciones Coloca 10 controles JButton sobre el JPanel. Estos se encuentran en la paleta Swing

Cambia el nombre de los botones por un nombre significativo. Recuerda las abreviaturas dadas para cada tipo de control la del JButton es: btn, luego escribe nombre de significativo de cada botn sin dejar espacios y respetando la mayscula a manera de separacin. Para cambiar el nombre del primer botn presiona el botn derecho del Mouse sobre el botn y se desplegar un men elige la opcin change variable name y sustituye JButton1 por btnInteresGanado. Propiedad Text Calcular inters ganado Calculo Total del Salario Presupuesto Hospital Ganancia Articulo Inversin Dinero Leer dos nmeros Tipo de Jubilacin Llantera Ponchadas Venta de Naranjas Color bolita Propiedad Name btnInteresGanado btnCalcularSalario btnPresupuestoHospital btnGananciaArticulo btnInversionDinero btnLeer btnJubilacin btnLlantera btnNaranjas btnBolitas

7.3. Creacin del formulario para el ejercicio clculo de interese ganado

Suponga que un individuo desea invertir su capital en un banco y desea saber cunto dinero ganara despus de un mes si el banco paga a razn de 2% mensual la tasa de inters. Cree un programa en NetBeans que resuelva este enunciado.
Para crear un nuevo formulario del tipo formulario JFrame, presiona el botn derecho sobre el paquete proyectoi . Elije la opcin Nuevo y posteriormente la opcin Formulario Form

Escribe el nombre al formulario (frmInteresGanado). Luego presiona el botn Terminar.

21

Curso: BSI-03 Programacin I Universidad Latina

En el paquete proyectoi se agrego el archivo del formulario: frmInteresGanado. Ya hay dos formularios en el proyecto frmMenu y frmInteresGanado.

Coloque sobre el frmInteresGanado un objeto JPanel que escoger en la Paleta Contenedores Swing Ajuste el tamao del JPanel. Seleccione el objeto JPanel, en la venta de propiedades de este objeto haz clic sobre la propiedad border y cambia lo siguiente: Al elegir la propiedad border, se abrir la siguiente ventana, elige de los bordes disponibles la opcin TitleBorder , esta opcin permite poner un titulo y un borde al JPanel. Escribe en el espacio Title lo siguiente Clculo de inters ganado

El JPanel tomar este aspecto

Agrega los objetos sobre el JPanel: cuatro JLabel, tres JTextField y un JButton de la paleta Swing.

22

Curso: BSI-03 Programacin I Universidad Latina

(Dentro del CD de programacin I hay una carpeta con el nombre Imgenes, el Jlabel4 en la propiedad icono Importar puede asignarle la imagen que muestra la siguiente figura del formulario terminado.) Cambia los text y el nombre segn la siguiente tabla.
Objeto JLabel1 JLabel2 JLabel3 JLabel4 JTextField1 JTextField2 JTextField3 JButton1 JFrame Text Capital invertido Inters ganado Total en el banco Name Editable etiCapital etiInteres etiTotal etiImagen txtCapital txtInteres False txtTotal False Calcular btnCalcular La propiedad Title: Inters ganado

Hasta el momento hemos creado la Interfaz Grfica de Usuario (IGU) que es la pantalla con que el usuario interacta, nos falta agregar el cdigo o instrucciones en el lenguaje java que sern las encargadas de realizar las peticiones del usuario. Para ello utilizaremos el botn etiquetado Calcular. Para incluir el cdigo fuente al programa debemos presionar clic derecho sobre el botn Calcular, esta accin desplegar un men de opciones como se muestra en la figura. Debe elegir la opcin Events\Action\actionPerformed lo que nos llevar al editor donde digitaremos la instrucciones en java. ( podemos darle doble clic encima del botn calcular )

23

Curso: BSI-03 Programacin I Universidad Latina

Luego de realizado el paso anterior, se presenta la siguiente pantalla

NetBeans se encarg de incluir el cdigo inicial para nuestro objetivo (el texto que se encuentra en las lneas sombreadas de celeste), borramos la lnea //TODO add your handling code here: aadir su cdigo aqu. Y digitamos el siguiente cdigo:

private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt) { //Declaracin e Inicializacin de variables double capital=0.0; //declara e inicializa en 0 la variable capital double interes=0.0; //declara e inicializa en 0 la variable interes double total=0.0; //declara e inicializa en 0 la variable total //Lectura de datos de entrada //Captura la informacin del la caja de texto capital y se la asigna a //la variable capital convertida en dobule capital=Double.parseDouble(txtCapital.getText()); //Procesos interes=capital*0.02; total=capital+interes; //Salida de resultados txtInteres.setText(String.valueOf(interes)); txtTotal.setText(String.valueOf(total)); }
Para utilizar la instruccin que muestra el mensaje, antes se debe utilizar la librera correspondiente. Para correr el programa y utilizarlo como usuario presionamos clic derecho en cualquier parte del cdigo para que se despliegue un men emergente del cual escogeremos la opcin Run File. Esta accin desplegar la siguiente pantalla en la cual introducimos una cantidad en el capital y luego presionamos el botn calcular para que muestre el resultado del clculo del inters y el monto total en el banco.

24

Curso: BSI-03 Programacin I Universidad Latina

Desde la barra Generar de NetBeans se puede correr el programa o funcin principal con los iconos

Pero para ello se debe incluir el cdigo necesario para que despliegue el formulario del men que accede a los programas.

7.4. Pasos para cargar una ventana desde la funcin principal Main:
1. 2. Ubicarse en el archivo frmMenu del panel izquierdo. En la ventana del cdigo fuente. Buscar el cdigo fuente donde se ubica la funcin que carga el formulario

3. 4.

Seleccionar y copiar (Ctrl + C) la instruccin que es la encargada de cargar el formulario Ubiarse en el archivo Main del panel izquierdo

5.

Sustituir la instruccin //TODO code application logic here por la instruccin que se encuentra en el portapapeles (new frmMenu().setVisible(true);). Utilizar Ctrl + V.

6.

Corra el programa, desde la barra Generar de NetBeans.

25

Curso: BSI-03 Programacin I Universidad Latina

7.5. Acceder desde el Men Principal al Formulario Inters Ganado Pasos para cargar desde el botn Calcular inters ganado del formulario Men al formulario frmInteresGanado.
Al presionar con el mouse este botn se cargue el formulario frmCalculoInteres

1. 2. 3. 4. 5.

Ubicarse en la ventana del cdigo fuente del frmInteresGanado. Copiar en el portapapeles la instruccin que carga el formulario new frmInteresGanado().setVisible(true); Ubicarse en la ventana diseo del formulario frmMenu Presionar doble clic sobre el botn Calcular inters ganado Pegar el cdigo previamente copiado en el portapapeles de Windows

6.

Correr el programa.

Si al cerrar el formulario frmInteresGanado, se cierra tambin el formulario frmMenu. Debes 7.6. cambiar la propiedad defaultCloseOperation (del frmInteresGando) por Dispose para que el men se mantenga visible.
7.7. Creacin del formulario para el ejercicio calculo de salario.

Un vendedor recibe un sueldo base ms un 10% extra por comisin de sus ventas, el vendedor desea saber cunto dinero obtendr por concepto de comisiones por las tres ventas que realiza en el mes y el total que recibir en el mes tomando en cuenta su sueldo base y comisiones.

Objeto JLabel1 JLabel2 JLabel3 JLabel4 JLabel5 JLabel6

Cree un nuevo formulario JFrame con nombre: frmCalculoSalario. Coloque sobre el frmCalculoSalario un objeto JPanel que escoger en la Paleta Contenedores Swing . Ajuste el tamao del JPanel al tamao del frmCalculoSalario. Agregue los controles necesarios y cambie las propiedades Text y Name de cada control.
Propiedad Text Monto salario base Monto venta 1 Monto venta 2 Monto venta 3 Comisin obtenida de ventas Salario total obtenido Propiedad Name

26

Curso: BSI-03 Programacin I Universidad Latina JTextField1 JTextField2 JTextField3 JTextField4 JTextField5 JTextField6 JButton1 txtSalarioBase txtVenta1 txtVenta2 txtVenta3 txtComsion txtSalarioTotal btnCalcular

Calcular salario total

El objetivo de este sencillo programa es capturar el monto del salario base, el monto de cada una de las comisiones. Luego sumar las comisiones, calcular el 10% del resultado de la suma de las comisiones. Para el salario final sumar el salario base ms el monto del porcentaje obtenido de las comisiones. private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt) { // Declaracion e Inicializacin de Variables double salarioBase=0.0, venta1=0.0,venta2=0.0, venta3=0.0; double comision=0.0, salarioTotal=0.0; //Lectura de datos de entrada salarioBase = Double.parseDouble(txtSalarioBase.getText()); venta1=Double.parseDouble(txtVenta1.getText()); venta2=Double.parseDouble(txtVenta2.getText()); venta3=Double.parseDouble(txtVenta3.getText()); //Proceso clculo de comisin comision=(venta1+venta2+venta3)*0.10; //Proceso calculo del salario total salarioTotal=salarioBase+comision; //Salida de datos txtComision.setText(String.valueOf(comision)); txtSalarioTotal.setText(String.valueOf(salarioTotal)); }

Detalle de las instrucciones:


// Declaracin e Inicializacin de Variables double salarioBase=0.0, venta1=0.0,venta2=0.0, venta3=0.0; double comision=0.0, salarioTotal=0.0;

Las instrucciones anteriores declaran 6 variables de tipo double y las inicializa a 0, como las tres variables son del mismo tipo se pueden declarar en la misma lnea separada por coma y al final lleva punto y coma ;
//Lectura de datos de entrada salarioBase = Double.parseDouble(txtSalarioBase.getText()); venta1=Double.parseDouble(txtVenta1.getText()); venta2=Double.parseDouble(txtVenta2.getText()); venta3=Double.parseDouble(txtVenta3.getText());

En resumen, captura el salario base digitado en la caja de texto txtSalarioBase, lo convierte en double y se lo asigna a la variable salarioBase. Hace lo mismo con los montos de cada una de las tres ventas.
//Proceso Clculo de comisin comision=(venta1+venta2+venta3)*0.10; //Proceso calculo del salario total salarioTotal=salarioBase+comision;

Despus de tener el valor del salario base y el valor de cada una de las ventas realizadas en el mes que se capturaron en las instrucciones anteriores. Calcula el monto de la comisin y el monto total del salario.

27

Curso: BSI-03 Programacin I Universidad Latina

//Salida de datos txtComision.setText(String.valueOf(comision)); txtSalarioTotal.setText(String.valueOf(salarioTotal));

Las dos instrucciones anteriores muestran el valor de la comisin y el valor del salario total en las cajas correspondiente, pero como las variables comisin y salarioTotal son double y las cajas solo pueden mostrar String cadena las convierte primero en cada, antes de mostrarlas utilizando: String.valueOf(). Para correr el programa y utilizarlo como usuarios presionamos clic derecho en cualquier parte del cdigo para que se despliegue un men del cual escogeremos la opcin Run File. Esta accin desplegar la ventana en la cual introducimos un salario base en la caja de texto salario base y luego introducir los valores de cada una de las ventas realizadas en el mes y por ltimo presionamos el botn calcular para que muestre el resultado de la comisin y del salario total.

Agregue al botn Clculo total del salario del formulario frmMen el cdigo necesario para que permita mostrar el formulario frmCalculoSalario al presionar el botn.

7.8. Formulario presupuesto hospital En un hospital existen tres reas. Ginecologa, Pediatra, Traumatologa. El presupuesto anual del hospital se reparte conforme a la siguiente tabla: REA PORCENTAJE DE PRESUPUESTO Ginecologa 40% Traumatologa 35% Pediatra 25% Cree un programa que permita obtener la cantidad de dinero que recibir cada rea, para cualquier monto presupuestal. Cambia la propiedad Text y el Name de cada control segn la siguiente tabla.
Objeto JLabel1 JLabel2 JLabel3 JLabel4 JTextField1 JTextField2 JTextField3 JTextField4 JButton1 Text Monto del presupuesto Ginecologa 40% Pediatra 25% Traumatologa 35% Name etiPresupuesto etiGinecologia etiPediatria etiTraumatologia txtPresupuesto txtGinecologia txtPediatria txtTraumatologia btnCalcular

Calcular

28

Curso: BSI-03 Programacin I Universidad Latina

Controles utilizados en el formulario: 1 JPanel, 4 JLabel, 4 JTextField y un 1 JButton Cdigo fuente private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt) { double presupuesto=0, ginecologia=0, pediatria=0, traumatologia=0; presupuesto=Double.parseDouble(txtPresupuesto.getText()); ginecologia=presupuesto*0.40; pediatria=presupuesto*0.25; traumatologia=presupuesto*0.35; txtGinecologia.setText(String.valueOf(ginecologia)); txtPediatria.setText(String.valueOf(pediatria)); txtTraumatologia.setText(String.valueOf(traumatologia)); } Descripcin de sentencias o instrucciones: double presupuesto=0, ginecologia=0, pediatria=0, traumatologia=0; //Declara tres variables de tipo double y las inicializa con valor 0 presupuesto=Double.parseDouble(txtPresupuesto.getText()); Captura de la cajita de texto txtPresupuesto el valor, lo convierte en doubl y se lo asigna a la variable presupuesto. ginecologia=presupuesto*0.40; pediatria=presupuesto*0.25; traumatologia=presupuesto*0.35; Calcula el % correspondiente a cada rea segn lo establecido por el enunciado del problema txtGinecologia.setText(String.valueOf(ginecologia)); txtPediatria.setText(String.valueOf(pediatria)); txtTraumatologia.setText(String.valueOf(traumatologia)); Muestra en las cajitas de texto los valores calculados de los porcentajes, pero antes los convierte en Strings. 7.9. Formulario ganancia artculo. Ejercicio #7 del folleto Introduccin al desarrollo de los Algoritmos

El dueo de una tienda compra un artculo a un precio determinado. Obtener el precio en que lo debe vender para obtener una ganancia del 30%.
Cambia la propiedad Text y el Name de cada control segn la siguiente tabla. Objeto Text JLabel1 Precio Compra: JLabel2 Ganancia30%: JLabel3 Precio Venta: JTextField1 JTextField2 JTextField3 JButton1 Calcular JButton2 Limpiar Controles utilizados en el formulario: 1 JPanel, 3 JLabel, 3 JTextField y 2 JButton. Cdigo fuente private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt) { double precioCompra=0; double precioVenta=0; double ganancia=0; Name etiPrecioCompra etiGanancia etiPrecioVenta txtPreciCompra txtGanancia txtPrecioVenta btnCalcular btnLimpiar

29

Curso: BSI-03 Programacin I Universidad Latina

precioCompra = Double.parseDouble(txtPrecioCompra.getText()); ganancia = precioCompra*0.30; precioVenta = precioCompra + ganancia; txtGanancia.setText(String.valueOf(ganancia)); txtPrecioVenta.setText(String.valueOf(precioVenta)); } Descripcin de sentencias o instrucciones: double precioCompra=0; double precioVenta=0; double ganancia=0; Declara tres variables de tipo double y las inicializa con valor 0 precioCompra=Double.parseDouble(txtPrecioCompra.getText()); Captura de la cajita de texto txtPrecioCompra el valor ingresado por el usuario, lo convierte en double y se lo asigna a la variable precioCompra. ganancia = precioCompra*0.30; precioVenta = precioCompra + ganancia; Calcula el % correspondiente a la ganancia y calcula el valor al que debe vender el artculo a los clientes. txtGanancia.setText(String.valueOf(ganancia)); txtPrecioVenta.setText(String.valueOf(precioVenta)); Muestra en las cajitas de texto los valores calculados: la ganancia y el precio de venta. private void btnLimpiarActionPerformed(java.awt.event.ActionEvent evt) { txtPrecioCompra.setText(""); txtGanancia.setText(""); txtPrecioVenta.setText(""); } Limpia el contenido de las tres cajitas de texto, para hace la prueba con otro artculo

7.10.

Formulario inversin de dinero Ejercicio #8 del folleto Introduccin al desarrollo de los Algoritmos.

Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas invierte una cantidad distinta. Obtener el porcentaje que cada quien invierte con respecto a la cantidad total invertida.
Cambia la propiedad Text y el Name de cada control segn la siguiente tabla. Objeto Text JTextField1 JTextField2 JTextField3 JTextField4 JTextField5 JTextField6 JTextField7 JButton1 Calcular JButton2 Limpiar private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt) { double monto1=0,monto2=0,monto3=0, total=0; double porc1=0,porc2=0,porc3=0; Name txtMonto1 txtMonto2 txtMonto3 txtPorc1 txtPorc2 txtPorc3 txtTotal btnCalcular btnLimpiar

Declara las variables para guardar el monto invertido por cada persona, y los porcentajes que corresponden a cada monto.

30

Curso: BSI-03 Programacin I Universidad Latina

monto1=Double.parseDouble(txtMonto1.getText()); monto2=Double.parseDouble(txtMonto2.getText()); monto3=Double.parseDouble(txtMonto3.getText()); total=monto1+monto2+monto3; porc1=monto1*100/total; porc2=monto2*100/total; porc3=monto3*100/total;

Captura los montos que fueron digitados para cada uno de los inversionistas.

Calcula el total de lo invertido por las tres personas


Monto1 X% Total 100% X%=Monto1*100/total

Calcula el porcentaje que invierte cada persona, con las sencilla regla de tres.

txtTotal.setText(String.valueOf(total)); txtPorc1.setText(String.valueOf(Math.rint(porc1))); txtPorc2.setText(String.valueOf(Math.rint(porc2))); txtPorc3.setText(String.valueOf(Math.rint(porc3))); }

Pone el texto .setText en las cajitas. Los resultados de los clculos. Math.rint redondea los decimales.

private void btnLimpiarActionPerformed(java.awt.event.ActionEvent evt) { txtMonto1.setText(""); txtMonto2.setText(""); txtMonto3.setText(""); txtPorc1.setText(""); txtPorc2.setText(""); txtPorc3.setText(""); txtTotal.setText(""); }

Limpia las cajitas de texto para realizar nuevo clculos.

7.11.

Formulario comparar dos nmeros

Leer 2 nmeros, si son iguales que los multiplique, s el primero es mayor que el segundo que los reste y si no que los sume.
Cambia la propiedad Text y el Name de cada control segn la siguiente tabla.

Controles utilizados en el formulario: 1 JButton. Cdigo fuente

Objeto JTextField1 JTextField2 JButton1 JButton2

Text

Calcular Limpiar

Name txtOperacin txtResultado btnCalcular btnLimpiar

JPanel, 2 JLabel, 2 JTextField y 2

31

Curso: BSI-03 Programacin I Universidad Latina

if(num1 = = num2) { resultado=num1*num2; txtOperacion.setText("Multiplicacin"); } else if(num1 > num2) { resultado=num1-num2; txtOperacion.setText("Resta"); } else{ resultado=num1+num2; txtOperacion.setText("Suma"); } txtResultado.setText(String.valueOf(resultado)); }

Si el valor de num1 es igual al valor de num2 Multiplique los dos nmeros y guarda el resultado en la variable resultado. Sino preguntar si el valor de num1 es menor que num2 Reste los dos nmeros y guarda el resultado en la variable resultado. Sino Sume los dos nmeros y guarda el resultado en la variable resultado.

private void btnLimpiarActionPerformed(java.awt.event.ActionEvent evt) { txtOperacion.setText(""); Limpia las cajitas de texto para realizar nuevo clculos. txtResultado.setText(""); } 7.12. Formulario jubilacin El IMSS requiere clasificar a las personas que se jubilaran en el ao de 1997. Existen tres tipos de jubilaciones: por edad, por antigedad joven y por antigedad adulta. Las personas adscritas a la jubilacin por edad deben tener 60 aos o ms y una antigedad en su empleo de menos de 25 aos. Las personas adscritas a la jubilacin por antigedad joven deben tener menos de 60 aos y una antigedad en su empleo de 25 aos o ms. Las personas adscritas a la jubilacin por antigedad adulta deben tener 60 aos o ms y una antigedad en su empleo de 25 aos o ms. Determinar por medio de un programa en java en qu tipo de jubilacin quedara adscrita una persona.

Cdigo fuente private void btnProcesarActionPerformed(java.awt.event.ActionEvent evt) { int edad=0, antiguedad=0; Declara las variables necesarias edad=Integer.parseInt(txtEdad.getText()); antiguedad=Integer.parseInt(txtAntiguedad.getText());

Objeto JTextField1 JTextField2 JTextField3 JButton1 JButton2

Text

Calcular Limpiar

Name txtEdad txtAntiguedad txtTipo btnProcesar btnLimpiar

Captura los datos de entrada de las cajitas de texto Utiliza un Y lgico Si la edad es mayor o igual a 60 y los aos trabajados son menor a 25 aos, Imprime la jubilacin es por EDAD. Sino

if((edad >= 60) && (antiguedad < 25)) txtTipo.setText("La jubilacin es por: EDAD."); else if((edad >= 60) && (antiguedad > 25)) txtTipo.setText("La jubilacin es por: EDAD ADULTA."); else if((edad < 60) && (antiguedad > 25)) txtTipo.setText("La jubilacin es por: ANTUGEDAD JOVN."); else txtTipo.setText("No tiene derecho a jubilarse"); }

32

Curso: BSI-03 Programacin I Universidad Latina

private void btnLimpiarActionPerformed(java.awt.event.ActionEvent evt) { txtEdad.setText(""); txtAntiguedad.setText(""); Limpia las cajitas de texto para volver a usarlas txtTipo.setText(""); } 7.13. Formulario llantera En una llantera se ha establecido una promocin de las llantas marca "Ponchadas", dicha promocin consiste en lo siguiente Si se compran menos de cinco llantas el precio es de 3 000 cada una, 2 500 si se compran de cinco a 10 y de 2 000 si se compran ms de 10

Obtener la cantidad de dinero por cada una de las llantas que compra y el total de la compra. Objeto Text Name JTextField1 txtCantidad JTextField2 txtPrecio JTextField3 txtTotal JButton1 Calcular btnProcesar JButton2 Limpiar btnLimpiar Cdigo fuente private void btnProcesarActionPerformed(java.awt.event.ActionEvent evt) { int cantidad=0, precio=0, total=0; cantidad=Integer.parseInt(txtCantidad.getText()); if(cantidad<5) precio=3000; else if((cantidad>=5)&&(cantidad<=10)) precio=2500; else precio=2000; total=precio*cantidad; txtPrecio.setText(String.valueOf(precio)); txtTotal.setText(String.valueOf(total)); } 7.14. Formulario venta de manzanas Objeto JTextField1 JTextField2 JTextField3 JTextField4 JButton1 JButton2 Text Name txtKilos txtPrecio txtDescuento txtTotal btnProcesar btnLimpiar

Venta de Manzanas

Calcular Limpiar

33

Curso: BSI-03 Programacin I Universidad Latina

Cdigo fuente private void btnProcesarActionPerformed(java.awt.event.ActionEvent evt) { double kilos=0, precio=0, descuento=0, total=0; kilos=Integer.parseInt(txtKilos.getText()); precio=Integer.parseInt(txtPrecio.getText()); total=kilos*precio; if((kilos>0)&&(kilos<=2)) descuento=0; else if((kilos>=3)&&(kilos<=5)) descuento=total*0.10; else if((kilos>=6)&&(kilos<=10)) descuento=total*0.15; else descuento=total*0.20; total=total-descuento; txtDescuento.setText(String.valueOf(descuento)); txtTotal.setText(String.valueOf(total)); } 7.15. Formulario color de bolita Ejercicio #25 del folleto Introduccin al desarrollo de los Algoritmos. Objeto JTextField1 JTextField2 JTextField3 JTextField4 JButton1 Text Name txtCompra txtColor txtDescuento txtTotal btnProcesar

Calcular

Cdigo fuente private void btnProcesarActionPerformed(java.awt.event.ActionEvent evt) { Random rnd = new Random(); double compra=0,descuento=0, total=0; int color=0; if(txtCompra.getText().equals("")) JOptionPane.showMessageDialog(null,"Digite el monto de compra."); Color adquiere un valor aleatorio, else{ es decir al azar escogido por la compra=Double.parseDouble(txtCompra.getText()); PC, entre el rango 0 y 5 que sern color= (int)(rnd.nextDouble() * 5.0); sustituidos por los colores del switch(color) enunciado. { case 0: //el cero ser usuado para el color blanco descuento=0; txtColor.setText("Blanco"); break; case 1: //el uno ser usuado para el color verde descuento=compra*0.10; txtColor.setText("Verde"); break; case 2: //el dos ser usuado para el color amarillo descuento=compra*0.25; txtColor.setText("Amarillo");

34

Curso: BSI-03 Programacin I Universidad Latina

break; case 3: //el tres ser usuado para el color azul descuento=compra*0.50; txtColor.setText("Azul"); break; case 4: //el cero ser usuado para el color rojo descuento=compra; txtColor.setText("Rojo"); break; } total=compra-descuento; txtDescuento.setText(String.valueOf(descuento)); txtTotal.setText(String.valueOf(total)) ; } } Para corregir los errores que presenta el cdigo, es decir donde presenta las x rojas deben incluir las libreras necesarias. Es decir para poder utilizar las ventanas de mensajes incluye la librera import javax.swing.JOptionPane;.

Para utilizar los nmeros aleatorios incluye la librera import java.until.Random;.

35

Curso: BSI-03 Programacin I Universidad Latina

8. UTILIZACIN DE LAS CAJAS DE TEXTO PARA CAPTURA DE DATOS Los controles campos de texto se utilizan frecuentemente en los programas para obtener los datos del usuario necesarios para procesar la informacin. Estos controles tienen gran cantidad de mtodos entre algunos de los ms usados getText() y setText(). Estos mtodos se utilizan para obtener y poner los datos que contienen respectivamente, pero al ser controles campos de texto solo se obtiene de ellos datos tipo texto o se pone en ellos datos tipo texto, aunque la informacin sea numrica NetBeans la trata como texto. Por lo tanto debemos utilizar las funciones que nos permiten convertir los datos que debemos obtener o poner en las cajas de texto. Ejemplo: Este formulario nos permite obtener el nombre y salario actual de un trabajador, calcula el 30% de aumento en el salario y mostrar cual es su nuevo salario.

El cdigo para realizar este enunciado es el siguiente:

Tambin tenemos la funcin Integer.parseInt(); para convertir a un tipo int.

36

Curso: BSI-03 Programacin I Universidad Latina

9. PRIMEROS PROGRAMAS

Ejercicio 1: Realice un programa en java con las siguientes caractersticas: La ventana principal tendr los siguientes elementos: Una etiqueta que contenga su nombre. Un botn con el texto Visualizar Nombre. Nombre de la etiqueta: etiNombre Nombre del botn: btnVisuNombre Una etiqueta que contenga su ciudad. Un botn con el texto Ocultar Ciudad. Nombre de la etiqueta: etiCiudad Nombre del botn: btnOcultarNombre Un botn con el texto Ocultar Nombre. Un botn con el texto Visualizar Ciudad. Nombre del botn: btnOcultarNombre Nombre del botn: btnVisuCiudad El funcionamiento del programa ser el siguiente: Cuando se pulse el botn btnOcultarNombre, se debe ocultar la etiqueta etiNombre. Cuando se pulse el botn btnVisuNombre, se debe visualizar la etiqueta etiNombre. Cuando se pulse el botn btnOcultarCiudad, se debe ocultar la etiqueta etiCiudad. Cuando se pulse el botn btnVisuCiudad, se debe visualizar la etiqueta etiCiudad. Para hacer esto debe programar el evento actionPerformed de cada botn. Usar el mtodo setVisible de cada etiqueta para visualizarlas u ocultarlas. Ejercicio 2: Crear un programa java cuya ventana principal contenga los siguientes componentes: Un cuadro de texto. El nombre ser txtTexto. Una etiqueta vaca (sin texto dentro). El nombre ser etiTexto1. Otra etiqueta vaca (sin texto dentro). El nombre ser etiTexto2. Un botn con el texto Traspasa 1. El nombre ser btnTraspasa1. Un botn con el texto Traspasa 2. El nombre ser btnTraspasa2. El programa funcionar de la siguiente forma: Cuando el usuario pulse el botn Traspasa 1, lo que se haya escrito dentro del cuadro de texto se copiar dentro de la etiqueta 1. Cuando el usuario pulse el botn Traspasa 2, lo que se haya escrito dentro del cuadro de texto se copiar dentro de la etiqueta 2. Para hacer esto programar el evento actionPerformed de cada botn. Usar el mtodo setText para situar el texto en la etiqueta, y getText para recoger el texto del cuadro de texto. Ejercicio 3: Se pide que realice un programa en java cuya ventana principal incluya los siguientes componentes: Un cuadro de texto llamado txtTexto. Una etiqueta vaca llamada etiTexto. Un botn con el texto Vaciar llamado btnVaciar. El programa funcionar de la siguiente forma: Cuando el usuario escriba en el cuadro de texto txtTexto, lo que escriba pasar inmediatamente a la etiqueta etiTexto. (Tendr que programar el evento keyPressed del cuadro de texto) Cuando el usuario pulse el botn Vaciar el texto contenido en el cuadro de texto y en la etiqueta se borrar. (Tendr que programar el evento actionPerformed) Tendr que usar el mtodo setText para colocar texto en la etiqueta y usar el mtodo getText para recoger el texto escrito en el cuadro de texto.

37

Curso: BSI-03 Programacin I Universidad Latina

Ejercicio 4: Se pide que realice un programa en java cuya ventana principal contenga los siguientes elementos: - Un cuadro de texto llamado txtNombre. - Un cuadro de texto llamado txtCiudad. - Una etiqueta llamada txtFrase. - Un botn con el texto Aceptar llamado btnAceptar. - Un botn con el texto Desactivar llamado btnDesactivar. - Un botn con el texto Activar llamado btnActivar. El programa funcionar de la siguiente forma: - El usuario introducir un nombre en el cuadro de texto txtNombre. Por ejemplo Juan. - El usuario introducir una ciudad en el cuadro de texto txtCiudad. Por ejemplo Santa Cruz. - Cuando el usuario pulse el botn Aceptar, entonces aparecer un mensaje en la etiqueta llamada txtFrase indicando como se llama y donde vive. Por ejemplo: Usted se llama Juan y vive en Santa Cruz. Cuando el usuario pulse el botn Desactivar, entonces los dos cuadros de texto se desactivarn. Cuando el usuario pulse el botn Activar, los dos cuadros de texto se volvern a activar. Tendr que programar el evento actionPerformed de los botones. Tendr que usar la concatenacin de cadenas. Recuerde que se pueden concatenar cadenas a travs del operador +. Tendr que usar el mtodo setText para colocar el texto en la etiqueta y el mtodo getText para recoger el texto de cada cuadro de texto. Tendr que usar el mtodo setEnabled para activar o desactivar cada cuadro de texto.

Ejercicio 5: Debe realizar un programa java cuya ventana principal contenga los siguientes elementos: - Cuatro etiquetas, conteniendo distintas palabras cada una. Puede llamarlas: etiPal1, etiPal2, etiPal3 y etiPal4. - Otra etiqueta que contenga el texto Ocultar. Esta etiqueta se llamar etiOcultar y tendr un tamao ms grande que las otras y un color de fondo. El programa debe funcionar de la siguiente forma: - Cuando el puntero del ratn sobrevuele la etiqueta etiOcultar, las etiquetas con las palabras deben desaparecer. - Cuando el puntero del ratn salga de la superficie de la etiqueta etiOcultar, entonces las etiquetas con las palabras volvern a aparecer. Tendr que programar los eventos mouseEntered y mouseExited para que el programa detecte cuando el ratn entra o sale de la etiqueta etiOcultar. Debe usar el mtodo setVisible de las etiquetas para ocultarlas o visualizarlas. Ejercicio 6: Debe realizar un programa java cuya ventana principal contenga los siguientes elementos: - Una etiqueta que contenga su nombre. Esta etiqueta se llamar etiNombre. Esta etiqueta debe tener un color de fondo. - Un botn con el texto Esquina. Este botn se llamar btnEsquina. - Un botn con el texto Centro. Este botn se llamar btnCentro. - Un botn con el texto Agrandar. Este botn se llamar btnAgrandar. - Un botn con el texto Achicar. Este botn se llamar btnAchicar.

38

Curso: BSI-03 Programacin I Universidad Latina

El programa debe funcionar de la siguiente forma:


Cuando el usuario pulse el botn Esquina, la etiqueta etiNombre se colocar en la esquina de la ventana. Cuando el usuario pulse el botn Centro, la etiqueta etiNombre se colocar en el centro de la ventana. Cuando el usuario pulse el botn Agrandar, la etiqueta etiNombre cambiar de tamao, agrandndose. Cuando el usuario pulse el botn Achicar, la etiqueta etiNombre cambiar de tamao, empequeecindose. Cuando el usuario lleve el puntero sobre uno de los botones, el botn cambiar de tamao agrandndose. Cuando el puntero salga del botn, el botn volver a su tamao normal.

Debe programar los eventos actionPerformed, mouseEntered y mouseExited para los botones. Tendr que usar el mtodo setLocation para cambiar la posicin de la etiqueta. Este mtodo recibe como parmetro la posicin x e y donde situar el componente. Tendr que usar el mtodo setSize para cambiar el tamao de la etiqueta y de los botones. Este mtodo recibe como parmetro el ancho y alto del componente. La propiedad preferredSize permite definir un tamao inicial a cada componente de la ventana. Ejercicio 7 Se pide realizar un programa java que tenga los siguientes elementos en la ventana principal: - Una etiqueta con el texto que quiera. Esta etiqueta se llamar etiTexto. - Un botn con el texto Azul. Este botn se llamar btnAzul. - Un botn con el texto Rojo. Este botn se llamar btnRojo. - Un botn con el texto Verde. Este botn se llamar btnVerde. - Un botn con el texto Fondo Azul. Este botn se llamar btnFondoAzul. - Un botn con el texto Fondo Rojo. Este botn se llamar btnFondoRojo. - Un botn con el texto Fondo Verde. Este botn se llamar btnFondoVerde. - Un botn con el texto Transparente. Este botn se llamar btnTransparente. - Un botn con el texto Opaca. Este botn se llamar btnOpaca. El programa debe funcionar de la siguiente forma: - Cuando se pulse el botn Azul, el texto de la etiqueta se pondr de color azul. - Cuando se pulse el botn Rojo, el texto de la etiqueta se pondr de color rojo. - Cuando se pulse el botn Verde, el texto de la etiqueta se pondr de color verde. - Cuando se pulse el botn Fondo Azul, el fondo de la etiqueta se pondr de color azul. - Cuando se pulse el botn Fondo Rojo, el fondo de la etiqueta se pondr de color rojo. - Cuando se pulse el botn Fondo Verde, el fondo de la etiqueta se pondr de color verde. - Cuando se pulse el botn Transparente, la etiqueta dejar de ser opaca. - Cuando se pulse el botn Opaca, se activar la propiedad opaca de la etiqueta. Debe programar los eventos actionPerformed de cada botn. Para cambiar el color de fondo de una etiqueta, usar el mtodo setBackground. Para cambiar el color del texto de una etiqueta, usar el mtodo setForeground. Para indicar el color azul usar Color.BLUE. Para indicar el color rojo, usar Color.RED. Y para indicar el color verde usar Color.GREEN. Para hacer que una etiqueta sea opaca o no, usar el mtodo setOpaque. 10. PROGRAMAS CON CLCULOS Ejercicio 1: Realice un programa para calcular el total de una venta. El programa tendr una ventana con al menos los siguientes elementos: Un cuadro de texto llamado txtUnidades donde el usuario introducir las unidades vendidas. Un cuadro de texto llamado txtPrecio donde el usuario introducir el precio unidad.

39

Curso: BSI-03 Programacin I Universidad Latina

Una etiqueta llamada etiTotalSinIva. Una etiqueta llamda etiIva. Una etiqueta llamada etiTotalMasIva. Un botn llamado btnCalcular. El programa funcionar de la siguiente forma: El usuario introducir las unidades y el precio y luego pulsar el botn Calcular. El programa entonces calcular el total de la venta, el iva y el total ms iva y presentar dichos resultados en cada etiqueta. Ejercicio 2: Realice un programa para calcular la nota final de un alumno. El programa tendr una ventana con al menos los siguientes elementos:
Un cuadro de texto llamado txtPrimerTrimestre. Un cuadro de texto llamado txtSegundoTrimestre. Un cuadro de texto llamado txtTercerTrimestre. Una etiqueta llamada etiNotaFinal. Una etiqueta llamada etiResultado. Un botn llamado btnCalcular

El programa funcionar de la siguiente forma: El usuario introducir las notas de los tres trimestres en los cuadros de texto correspondientes. Cuando se pulse el botn Calcular, el programa calcular la nota media y la mostrar en la etiqueta llamada etiNotaFinal. Si la nota final es menor de 70, entonces en la etiqueta etiResultado aparecer la palabra SUSPENSO. Si la nota final es 70 o ms, entonces en la etiqueta etiResultado aparecer la palabra APROBADO. Si la nota final fuera un suspenso, entonces el fondo de las etiquetas etiNotaFinal y etiResultado deben aparecer de color rojo. En caso contrario aparecern de color negro. Ejercicio 3: Realizar un programa para calcular el rea y el permetro de un crculo. El programa debe tener una ventana con al menos los siguientes elementos: Un cuadro de texto llamado txtRadio, donde el usuario introducir el radio. Una etiqueta llamada etiArea, donde se mostrar el rea del crculo. Una etiqueta llamada etiPerimetro, donde se mostrar el permetro del crculo. El programa funcionar de la siguiente forma: El usuario introducir un radio dentro del cuadro de texto llamado radio. Al pulsar la tecla Enter sobre dicho cuadro de texto, el programa calcular el rea y el permetro y los mostrar en las etiquetas correspondientes. Si el usuario introduce un radio negativo, en las etiquetas debe aparecer la palabra Error en color rojo. Use el elemento PI de la clase Math para hacer este ejercicio. Ejercicio 4: Realizar un programa para calcular potencias de un nmero. El programa le permitir al usuario introducir una base y un exponente. Luego el programa podr calcular la potencia de la base elevada al exponente. El programa deber usar la clase Math. El diseo de la ventana queda a su eleccin. Ejercicio 5: Realizar un programa que calcule la raz cuadrada de un nmero. El programa tendr los siguientes elementos en la ventana nicamente: Un cuadro de texto llamado txtNumero. Una etiqueta llamada etiRaiz.

40

Curso: BSI-03 Programacin I Universidad Latina

El programa funcionar de la siguiente forma: cuando el usuario escriba un nmero en el cuadro de texto txtNumero, inmediatamente aparecer su raz cuadrada en la etiqueta. Para ello, tendr que programar el evento keyReleased del cuadro de texto. Use la clase Math para realizar el clculo de la raz cuadrada. Ejercicio 6: Realice un programa que contenga dos cuadros de texto: txtPalabra1, y txtPalabra2. La ventana tendr tambin un botn llamado btnConcatena y una etiqueta llamada etiTexto. El usuario introducir las dos palabras dentro de los cuadros de texto y luego pulsar el botn Concatena. El resultado ser que en la etiqueta etiTexto aparecern las dos palabras escritas concatenadas. Por ejemplo, si el usuario escribe en el primer cuadro de texto Lunes y en el segundo Martes, en la etiqueta aparecer: LunesMartes. Ejercicio 7: Realizar un programa que muestre 10 etiquetas llamadas respectivamente: etiUna, etiDos, etiTres, etc... Estas etiquetas contendrn los nmeros del 0 al 9. Aparte, la ventana tendr un cuadro de texto llamado txtNumero. Se pide que cuando el usuario lleve el ratn sobre una de las etiquetas, aparezca en el cuadro de texto el nmero correspondiente. Los nmeros se van aadiendo al cuadro de texto. Por ejemplo, si el usuario lleva el puntero sobre la etiqueta Uno, luego sobre la etiqueta Tres y luego sobre la etiqueta Uno, en el cuadro de texto debera haber aparecido lo siguiente: 131. Aada un botn llamado btnBorrar, que al ser pulsado borre el contenido del cuadro de texto. Ejercicio 8: Se pide realizar un programa para resolver las ecuaciones de segundo grado. Las ecuaciones de segundo grado tienen la siguiente forma: ax2+bx+c=0 Dados unos valores para a, b y c, se debe calcular cunto vale x. Una ecuacin de segundo grado puede tener 0, 1 o 2 soluciones. Para saber el nmero de soluciones de una ecuacin de segundo grado se debe realizar el siguiente clculo: R = b2 4ac Si R es menor de cero, la ecuacin no tiene solucin. Si R da 0, la ecuacin tiene una solucin. Si R es mayor de cero, la ecuacin tiene dos soluciones. Cuando existe una solucin, esta se calcula de la siguiente forma: x = -b / (2a)

Cuando existen dos soluciones, estas se calculan de la siguiente forma: x = (-b + raiz(R) ) / (2a) x = (-b raiz(R) ) / (2a) Realice el programa para resolver las ecuaciones de segundo grado. El diseo de la ventana queda a su eleccin. Procure que el programa indique cuando hay o no soluciones, y que las muestre de forma adecuada.

41

Curso: BSI-03 Programacin I Universidad Latina

11. CUADROS DE MENSAJE, CONFIRMACIN E INTRODUCCIN DE DATOS Ejercicio 1: Realice un programa para calcular la divisin de un nmero A entre un nmero B. El programa tendr los siguientes elementos en la ventana: Dos cuadros de texto llamados txtA y txtB donde se introducirn los dos nmeros. Un botn Calcular Divisin llamado btnDivision. Una etiqueta llamada etiResultado donde aparecer el resultado. El programa debe funcionar de la siguiente forma: Cuando se pulse el botn Calcular Divisin se calcular la divisin del nmero A entre el B y el resultado aparecer en la etiqueta etiResultado. Si el usuario introduce un valor 0 dentro del cuadro de texto del nmero B, entonces el programa mostrar un mensaje de error (Use un JOptionPane.showMessage) Si el usuario introduce un valor menor que cero en cualquiera de los dos cuadros de texto, entonces tambin se mostrar un error. Ejercicio 2: Realice un programa que permita calcular el sueldo total de un empleado. Para ello, el programa tendr los siguientes elementos en la ventana: Un cuadro de texto llamado txtSueldoBase. Un cuadro de texto llamado txtMeses. Un botn llamado btnCalcular. Una etiqueta llamada etiResultado. El programa funcionar de la siguiente forma: El usuario introducir en el cuadro de texto txtSueldoBase la cantidad bruta que cobra el trabajador al mes. En el cuadro de texto txtMeses introducir el nmero de meses trabajados. Al pulsar el botn calcular se calcular el sueldo a percibir por el empleado. Se calcular as: Total a percibir = (SueldoBase 10% del SueldoBase) * Meses Cuando se pulse el botn calcular, antes de que aparezca el sueldo en la etiqueta de resultado, el programa debe pedirle al usuario que introduzca una contrasea. Solo si la contrasea es correcta el programa mostrar el sueldo total. Para introducir la contrasea use un JOptionPane.showInputDialog. Si el usuario introduce una contrasea incorrecta, el programa mostrar un aviso (JOptionPane.showMessage) y el resultado no se mostrar. Invente el valor de la contrasea Ejercicico 3: Realizar un programa para calcular el ndice de masa corporal de una persona. Para ello, crear una ventana con los siguientes elementos: Un cuadro de texto llamado txtPeso, donde se introducir el peso de la persona. Un cuadro de texto llamado txtTalla, donde se introducir la talla. Una etiqueta llamada etiIMC donde aparecer el Indice de masa corporal calculado. Un botn llamado btnCalcular y otro llamado btnLimpiar. El programa funcionar de la siguiente forma: El usuario introducir un peso y una talla en los cuadros de texto. Luego pulsar el botn calcular para calcular el ndice de masa corporal, el cual se calcula as: IMC = Peso / Talla 2 IMC <18 >=18 y <20 >=20 y <27 CONCLUSIN Anorexia Delgadez Normalidad

42

Curso: BSI-03 Programacin I Universidad Latina

El IMC calculado aparecer en la etiqueta, y adems, aparecer un mensaje indicando la conclusin a la que se llega, la cual puede ser una de las siguientes segn el IMC: El mensaje puede ser algo as: Su IMC indica que tiene anorexia, por ejemplo. Este mensaje aparecer en un JOptionPane.showMessage.

>=27 y <30 >=30 y <35 >=35 y <40 >=40 y

Obesidad (grado 1) Obesidad (grado 2) Obesidad (grado 3) Obesidad mrbida

Cuando pulse el botn Limpiar, se borrarn los cuadros de texto Peso y Talla. Antes de que esto ocurra, el programa debe pedir confirmacin, con un cuadro de dilogo de confirmacin (JOptionPane.showConfirmDialog). El cuadro de confirmacin tendr el siguiente aspecto:

Segn lo elegido por el usuario se borrarn los cuadros de texto o no.

12. CADENAS Ejercicio 1: Realice un programa cuya ventana tenga los siguientes elementos: Un cuadro de texto llamado txtFrase. Varias etiquetas. (Llmelas como quiera) Un botn Analizar llamado btnAnalizar. El programa funcionar de la siguiente forma: El usuario introducir una frase en el cuadro de texto, y luego pulsar el botn Analizar. Al pulsar Analizar, el programa mostrar la siguiente informacin en las etiquetas: La frase en maysculas. La frase en minsculas. Nmero de caracteres de la frase. Nmero de caracteres de la frase sin contar los espacios. Si el usuario pulsa Analizar cuando no hay ninguna frase introducida en el cuadro de texto, el programa debe mostrar un error emergente (JOptionPane) Ejercicio 2: Realice un programa cuya ventana tenga los siguientes elementos: Un cuadro de texto llamado txtFrase y otro llamado txtSubcadena. Varias etiquetas. Un botn Analizar llamado btnAnalizar. El programa funcionar de la siguiente forma: El usuario introducir una frase en el cuadro de texto txtFrase, y luego introducir una palabra en el cuadro de texto txtSubcadena, y luego pulsar el botn Analizar.

43

Curso: BSI-03 Programacin I Universidad Latina

Al pulsar el botn, el programa debe mostrar la siguiente informacin: La posicin en la que se encuentra la primera aparicin de la palabra en la frase. La posicin en la que se encuentra la ltima aparicin de la palabra en la frase. Mostrar el texto que hay en la frase antes de la primera palabra. Mostrar el texto que hay en la frase despus de la ltima palabra. Por ejemplo, si la frase fuera: Un globo, dos globos, tres globos. La luna es un globo que se me escap. Y la palabra fuera globo, entonces la informacin a mostrar sera: Posicin inicial: 3 Posicin final: 49 Texto anterior: Un Texto posterior: que se me escap Si la palabra no se encuentra en la frase, el programa mostrar un mensaje indicando un errorJ y no se presentar nada en las etiquetas. Ejercicio 3: Realice un programa que tenga los siguientes elementos: Un cuadro de texto llamado txtFrase. Un cuadro de texto llamado txtPalabra4. Un cuadro de texto llamado txtPalabra1. Varias etiquetas. Un cuadro de texto llamado txtPalabra2. Un botn Analizar llamado btnAnalizar. Un cuadro de texto llamado txtPalabra3. El programa funcionar de la siguiente forma: El usuario introducir una frase en el cuadro de texto txtFrase, y tres palabras en los cuadros de texto de las palabras. Al pulsar el botn Analizar, el programa debe indicar la siguiente informacin en las etiquetas: Indicar si la frase es igual a la palabra 1. Indicar si la frase empieza por la palabra 2. Indicar si la frase termina por la palabra 3. Indicar si la palabra 4 est contenida en la frase, y en el caso de que est contenida, se indicar la posicin inicial en la que se encuentra. Ejercicio 4: Realizar un programa cuya ventana tenga los siguientes elementos: Un cuadro de texto llamado txtFrase. Varias etiquetas. Un botn Analizar llamado btnAnalizar. El programa debe contar cuantas vocales tiene la frase. El funcionamiento ser el siguiente: El usuario escribir una frase en el cuadro de texto txtFrase. Luego se pulsar el botn Analizar. El programa mostrar en las etiquetas el nmero de a, de e, de i de o y de u que se encuentran en la frase. Tenga en cuenta que puede haber vocales en maysculas y en minsculas. Si el usuario no introduce nada en el cuadro de texto txtFrase, entonces el programa debera mostrar un error. Ejercicio 5: Realizar un programa cuya ventana tenga los siguientes elementos: Un cuadro de texto llamado txtIdentificacin. Una etiqueta llamada etiIdentificacin. Un botn Preparar Identificacin llamado btnPrepararIdentificacin. El programa funcionar de la siguiente forma: El usuario introducir un # de cdula en el cuadro de texto llamado txtIdentificacion y luego pulsar el botn Preparar Identificacin. El resultado ser que la identificacin introducida aparecer preparada en la etiqueta etiIdentificacion. A continuacin se explica cmo preparara la identificacin:

44

Curso: BSI-03 Programacin I Universidad Latina

El usuario puede introducir una identificacin con uno de estos formatos: 1-123-890 1 0123 0890 etc. Sin embargo, cuando el usuario pulse el botn Preparar Identificacin, en la etiqueta etiIdentificacion debe aparecer la identificacin con el siguiente formato: 1123890. Es decir, sin ningn espacio y sin puntos ni guiones. Si el usuario no introduce nada en el cuadro de texto del DNI y pulsa el botn, entonces debe aparecer un error emergente (JOptionPane). 13. LA CLASE JFRAME Ejercicio 1: Realizar un programa cuya ventana contanga los siguientes elementos:
Un cuadro de texto llamado txtTitulo. Un botn Cambiar Ttulo llamado btnCambiarTitulo. Un botn Maximizar llamado btnMaximizar. Un botn Minimizar llamado btnMinimizar. Un botn Restaurar llamado btnRestaurar. Un cuadro de texto llamado txtPosicionX. Un cuadro de texto llamado txtPosicionY. Un botn Mover llamado btnMover. Un botn Centrar llamado btnCentrar. Un botn Estilo Java llamado btnEstiloJava. Un botn Estilo Windows llamado btnEstiloWindows. Un botn Rojo llamado btnRojo. Un botn Verde llamado btnVerde. Un botn Azul llamado btnAzul.

El funcionamiento del programa ser el siguiente: Si el usuario pulsa el botn Cambiar Titulo, el ttulo de la ventana cambiar, colocndose como ttulo lo que el usuario haya escrito en el cuadro de texto txtTitulo. Si el usuario pulsa el botn Maximizar, la ventana se maximizar. Si el usuario pulsa el botn Minimizar, la ventana se minimizar. Si el usuario pulsa el botn Restaurar, la ventana se restaurar. Si el usuario pulsa el botn Mover, la ventana se colocar en la posicin de la pantalla que venga indicada por los valores x, y, introducidos respectivamente en los cuadros de texto txtPosicionX y txtPosicionY. Si el usuario pulsa el botn Centrar, la ventana se colocar en el centro de la pantalla. Si el usuario pulsa el botn Estilo Java, entonces toda la ventana cambiar a la visualizacin Java. Si el usuario pulsa el botn Estilo Windows, entonces toda la ventana cambiar a la visualizacin Windows. Si el usuario pulsa uno de los botones de color, entonces el fondo de la ventana se cambiar al color indicado. Adems, el programa contar con las siguientes caractersticas: Al iniciarse el programa, este debe pedir una contrasea al usuario. Si el usuario introduce la contrasea correcta, entonces el usuario entrar en el programa. En caso contrario el programa se cerrar. Al finalizar el programa, este debe pedir una confirmacin al usuario: Desea salir del programa? Si el usuario responde S, entonces el programa finalizar. En caso contrario, el programa seguir funcionando. 14. VARIABLES GLOBALES Ejercicio 1: Realizar un programa cuya ventana contenga los siguientes elementos:
Un cuadro de texto llamado txtNumero. Un botn Acumular llamado btnAcumular. Un botn Resultados llamado btnResultados. Un botn Reiniciar llamado btnReiniciar. Una etiqueta con borde llamada etiMayor. Una etiqueta con borde llamada etiSuma. Una etiqueta con borde llamada etiMedia. Una etiqueta con borde llamada etiCuenta.

El programa funcionar de la siguiente forma:

45

Curso: BSI-03 Programacin I Universidad Latina

El usuario introducir un nmero en el cuadro de texto txtNumero y luego pulsar el botn Acumular. En ese momento se borrar el nmero introducido en el cuadro de texto. Este proceso lo repetir el usuario varias veces. Cuando el usuario pulse el botn Resultados, deben aparecer en las etiquetas los siguientes datos: o El nmero mayor introducido hasta el momento. o La suma de los nmeros introducidos hasta el momento. o La media de los nmeros introducidos hasta el momento. o Cuantos nmeros ha introducido el usuario hasta el momento. El botn Reiniciar reinicia el proceso borrando todo lo que hubiera en las etiquetas de resultados y reiniciando las variables globales.

Variables globales a usar Para que sirva de ayuda, se recomienda que use las siguientes variables globales: - Una variable double llamada mayor. Contendr en todo momento el nmero mayor introducido. - Una variable double llamada suma. Contendr en todo momento la suma de los nmeros introducidos. - Una variable int llamada cuenta. Contendr en todo momento la cuenta de todos los nmeros introducidos hasta ahora. Al comenzar el programa, y al pulsar el botn Reiniciar, ser necesario que estas tres variables se inicien a 0. Nota. Se supondr que todos los nmeros introducidos sern mayores o iguales a 0. Ejercicio 2: Realizar un programa que contenga los siguientes elementos en su ventana: - Un cuadro de texto llamado txtNumero. - Un cuadro de texto llamado txtApuesta - Un botn Jugar llamado btnJugar. - Una etiqueta llamada etiNumero. - Una etiqueta llamada etiResultado que contendr inicialmente un 100. El programa funcionar de la siguiente forma: - Se trata de un juego de adivinacin. El usuario introducir un nmero entre 1 y 10 en el cuadro de texto txtNumero. - Luego introducir una apuesta en el cuadro de texto txtApuesta. - Y a continuacin pulsar el botn Jugar. - El programa calcular entonces un nmero al azar entre 1 y 10 y lo mostrar en la etiqueta etiNumero. - Si el nmero introducido por el usuario coincide con el nmero elegido al azar por la mquina, entonces el usuario gana y se le debe sumar lo apostado a la cantidad que tena en dicho momento. Si el usuario pierde entonces se le debe restar lo apostado a la cantidad que tena. El total que le quede debe aparecer en la etiqueta resultado. - Al empezar el programa el usuario tiene $100.

Las variables globales a usar son las siguientes: - Solo se necesita una variable global de tipo double a la que puedes llamar ganancias. Esta variable estar inicializada al comienzo del programa a 100. Para hacer que el ordenador calcule un nmero aleatorio entre 1 y 10 debes usar el siguiente cdigo: int numeroMaquina=(int) ((Math.random() * 10) + 1);

46

Curso: BSI-03 Programacin I Universidad Latina

15. CUADROS DE DILOGO Ejercicio 1: Se pide realizar un programa que facilite el clculo del precio de implantacin de un determinado software en una empresa. Se pretende calcular el coste de instalacin, el coste de formacin y el coste de mantenimiento. Para ello, debe realizar un proyecto con una ventana como la que sigue:

Esta ventana tiene tres cuadros de textos, para cada uno de los costes. Si se desea, se puede introducir directamente cada uno de los costes en estos cuadros de textos y al pulsar el botn Calcular aparecer la suma de los tres en la etiqueta Total. Por otro lado, cada cuadro de texto tiene asignado un botn con tres puntos que permitir facilitar el clculo de cada coste a travs de un cuadro de dilogo. El objeto Dialog o Ventana la selecciona de la Paleta Swing categora ventanas

Cuadro de dilogo Coste de Instalacin En el caso de que se pulse el botn correspondiente al Coste de Instalacin, el cuadro de dilogo que debe aparecer tiene que ser el siguiente (haz que sea modal): Aqu se indicar el nmero de copias de la versin simplificada del programa a instalar, y el nmero de copias de la versin completa. Al pulsar el botn Aceptar, se mostrar el coste total por instalacin en el cuadro de texto correspondiente de la ventana principal y luego se cerrar el cuadro de dilogo. Para calcular el coste de instalacin, ten en cuenta lo siguiente: Cada copia de la versin simplificada cuesta $250, y cada copia de la versin completa cuesta $500. Si por ejemplo, el usuario introduce 1 copia simplificada y 2 de la versin completa, el coste total ser: Coste por instalacin = 250 * 1 + 500 * 2 = 1250

47

Curso: BSI-03 Programacin I Universidad Latina

Si se pulsa el botn Cancelar, el cuadro de dilogo se cierra y no se muestra nada en el cuadro de texto del coste de instalacin de la ventana principal.

Cuadro de dilogo Coste de Formacin En el caso de que se pulse el botn correspondiente al Coste de Formacin, el cuadro de dilogo que debe aparecer tiene que ser el siguiente (haz que sea modal): El coste de formacin se calcular multiplicando el nmero de alumnos por el nmero de horas por $10. Por ejemplo, si el usuario introduce 3 alumnos y 12 horas, el coste por formacin ser: Coste por formacin = 2 * 12 * 10 = 240. Al pulsar el botn Aceptar, se calcular dicho coste y se introducir en el cuadro de texto del coste de formacin de la ventana principal (luego el cuadro de texto se cerrar). Si se pulsa el botn Cancelar, el cuadro de dilogo simplemente se cerrar, sin que ocurra nada ms.

Cuadro de dilogo Coste de Mantenimiento En el caso de que se pulse el botn correspondiente al Coste de Mantenimiento, el cuadro de dilogo que debe aparecer tiene que ser el siguiente (haz que sea modal):

Al pulsar Aceptar, el programa calcular el coste de mantenimiento y lo presentar en el cuadro de texto correspondiente de la ventana principal (y luego se cerrar el cuadro de dilogo) La forma de calcular el coste de mantenimiento es la siguiente: Si se elige un mantenimiento Anual, entonces el coste ser de $600. Si se elige un mantenimiento Semestral, entonces el coste ser de $350. Si se elige un mantenimiento del tipo Puesta en funcionamiento entonces el coste ser de $200. Si se pulsa el botn Cancelar, el cuadro de dilogo se cierra sin ms. MEJORAS Ayuda Aade un botn a la ventana principal con esta forma: de dilogo de ayuda con este aspecto. Al pulsar este botn, aparecer un cuadro

Al pulsar el botn Cerrar, el cuadro de dilogo simplemente se cerrar.

48

Curso: BSI-03 Programacin I Universidad Latina

Para hacer el texto, usa el objeto JTextArea, y su propiedad text. Este objeto permite crear cuadros con gran cantidad de texto. Ten en cuenta que cuando aadas un JTextArea este aparecer dentro de un JScrollPane.

Pantalla de Splash (Presentacin) Se aadir un nuevo cuadro de dilogo al proyecto que servir como pantalla de presentacin (a estos cuadros de dilogo se les suele denominar Splash) Disee este cuadro de dilogo como quiera. Puede aadir varias imgenes, colocar el texto donde quiera, etc. Debe mostrar este cuadro de dilogo al comenzar el programa (en el evento windowOpened del formulario) Si quiere mostrar el cuadro de dilogo de la presentacin en el centro de la pantalla, puede usar este cdigo (se supone que el cuadro de dilogo se llama winSplash): int x=(int) (Toolkit.getDefaultToolkit().getScreenSize().getWidth()/2 - winSplash.getWidth()/2); int y=(int) (Toolkit.getDefaultToolkit().getScreenSize().getHeight()/2 - winSplash.getHeight()/2); winSplash.setLocation(x,y); El cuadro de dilogo debe tener un botn Cerrar, o bien, debe tener la posibilidad de cerrarse cuando el usuario haga clic sobre l en cualquier parte. Para mejorar su cuadro de dilogo de presentacin, se recomienda que active la propiedad del cuadro de dilogo llamada: Undecorated winSplash.setUndecorated(true);. Esta propiedad oculta la barra de ttulo del cuadro de dilogo.

49

Curso: BSI-03 Programacin I Universidad Latina

16. EJERCICIOS PROPUESTOS 16.1. Sentencias de control repetitivas 1. Escriba un programa que lea un nmero entero por teclado y escriba la tabla de multiplicar de ese nmero. 2. Escriba un programa que muestre por pantalla la tabla de multiplicar de los 10 primeros nmeros (1,2,3....9,10.). 3. Calcular la suma de las siguientes series: a) b) 4. Realice un programa que lea nmeros enteros positivos hasta que se introduzca un 0. El programa deber mostrar por pantalla la cantidad de nmeros ledos, el promedio, as como el valor mximo introducido. 5. Realice un programa que calcule y visualice el ms grade, el ms pequeo y el promedio de n nmeros (n>0). El valor de n se solicitar al principio del programa y los nmeros sern introducidos por el usuario. 6. Realizar un programa que pida dos nmeros enteros por teclado y muestre por pantalla el siguiente men:

El usuario deber elegir una opcin y el programa deber mostrar el resultado por pantalla y despus volver al men. El programa deber ejecutarse hasta que se elija la opcin 5. Salir. Modificar el ejercicio anterior para que al elegir la opcin 5, en vez de salir del programa directamente, nos muestre el siguiente mensaje de confirmacin:

De modo que si elegimos s salgamos del programa, pero si pulsamos el botn no, volvamos al men. 7. Realice un programa que calcule el factorial de un nmero dado por teclado. Realice este ejercicio utilizando primero un bucle for y posteriormente repita el ejercicio utilizando un bucle while. 8. Realice un programa que determine si un nmero ledo del teclado es primo o no.

50

Curso: BSI-03 Programacin I Universidad Latina

9. Un nmero perfecto es un entero positivo, que es igual a la suma de todos los enteros positivos (excluido l mismo) que son divisores del nmero. El primer nmero perfecto es 6, ya que los divisores de 6 son 1, 2, 3 y 1 + 2 + 3 = 6. Escriba un programa que lea un nmero entero positivo n y muestre por pantalla si ese nmero es o no perfecto. 10. Realice un programa que lea un nmero entero por teclado y devuelva por pantalla el nmero de dgitos que componen ese nmero. Por ejemplo, si introducimos el nmero 12334, el programa deber devolver 5. (Pista: utilice el operador %, averige para qu sirve y piense cmo utilizarlo). 11. Realice un programa que lea un nmero entero por teclado y devuelva por pantalla las que forman ese nmero. Por ejemplo, si se introduce el nmero 2345, el programa deber mostrar por pantalla 5 4 3 2. (Pista: utilice el ejercicio anterior como base para realizar este ejercicio). Ejercicios que usan nmeros aleatorios para realizar juegos y simulaciones 12. Realizar un programa que simule un juego de adivinar un nmero. El programa pedir al usuario dos nmeros que representan el rango de valores entre los que se encuentra el nmero a adivinar, as como el nmero de intentos para adivinar el nmero. A continuacin el programa generar un nmero aleatorio entre esos dos nmeros y el usuario deber adivinarlo en el nmero mximo de intentos antes indicado. Cada vez que el jugador introduce un nmero el programa le dice si es mayor o menor y le indica cuantos intentos le quedan. 13. Realice un programa que pregunte aleatoriamente cualquier multiplicacin. El programa debe indicar si la respuesta ha sido correcta o no (en caso que la respuesta sea incorrecta el programa debe indicar cul es la correcta). Una vez preguntado por una multiplicacin el programa debe preguntar si desea realizar otra. En caso afirmativo preguntar aleatoriamente otra multiplicacin. En caso negativo el programa finalizar. 14. Modificar el ejercicio anterior de modo que el programa pregunta aleatoriamente un total de n multiplicaciones siendo n un nmero dado por teclado. En cada multiplicacin el programa debe indicar si se ha acertado o no. Al final del programa, ste deber mostrar un resumen indicando el nmero de respuestas correctas y errneas, as como el porcentaje de aciertos y de fallos. 15. Realice un programa que genere aleatoriamente 7 operaciones aritmticas consecutivas a las que el usuario deber ir respondiendo correctamente para ir avanzando. Los nmeros (aleatorios) sobre los que se realizan las operaciones deben estar comprendidos entre 2 y 9 y las operaciones aritmticas (tambin aleatorias) permitidas sern la suma, resta, multiplicacin y divisin (en el caso de la divisin se realizar siempre una divisin entera). Ejemplo: 1. 5 x 4 = 20 2. 20 4 = 16 3. 16 / 8 = 2 4. 2 x 6 = 10 Incorrecto 5. 3 x 3 = 9 6. 12 7 = 2 Incorrecto 7. 12 7 = 5

51

Curso: BSI-03 Programacin I Universidad Latina

16.2.

Ejercicios propuestos funciones

1. Escribir un programa que pida un nmero por teclado y nos diga si ese nmero es primo. El programa deber utilizar una funcin definida por el usuario, a la que se le pase un nmero y nos devuelva un 0 en el caso de que el nmero que le pasemos no sea primo, y un 1 en caso contrario. 2. Escribir un programa que pida un nmero natural por teclado y nos diga si ese nmero es perfecto (un nmero natural es perfecto si es igual a la suma de sus divisores, excluido l mismo). El programa deber utilizar una funcin definida por el usuario, a la que se le pase un nmero y nos devuelva un 0 en el caso de que el nmero que le pasemos no sea perfecto, y un 1 en caso contrario. 3. Realizar un programa que pida dos nmeros enteros por teclado y muestre por pantalla el siguiente men:

El usuario deber elegir una opcin, introducir dos valores y el programa deber mostrar el resultado por pantalla. Todas las opciones (1 a 6) deben realizarse utilizando funciones. 4. Utilizando la funcin primo realizada en el Ejercicio 1, realizar un programa que muestre por pantalla todos los nmeros primos comprendidos entre 1 y un nmero n introducido por teclado por el usuario. 5. Escriba una funcin que lea tres nmeros enteros del teclado y nos devuelva el mayor. 6. Escriba una funcin que calcule la suma de los divisores de un nmero entero positivo. 7. Escriba una funcin que determine si un carcter es uno de los dgitos 0,1,2.....9. 8. Escriba una funcin que convierta grados a fahrenheit (fahrenheit = grados * 9.0/5.0 + 32.0) 9. Escriba las funciones necesarias para poder calcular la equivalencia entre centmetros, pies y pulgadas. (1 Pulgada = 2.54 cm, 1 Pie = 30.48 cm, 1 Pie = 12 Pulgadas) 10. Escribir una funcin que lea un nmero entero y un nmero real por teclado, en funcin del nmero entero se aplicar una de las funciones de conversin anteriores, tal y como muestra la siguiente tabla:

52

Curso: BSI-03 Programacin I Universidad Latina

Ejercicios propuestos de un nivel de dificultad mayor. 11. Escriba una funcin que decida si un nmero entero es capica. La palabra capica (en matemticas, nmero palndromo) se refiere a cualquier nmero que se lee igual de izquierda a derecha y de derecha a izquierda (Ejemplos: 101, 111, 121,..., 181, 191, 202, 212,..., 292, 303, 313,..., 898, 909, 919, 929,..., 979, 989, 999, etc) 12. Escriba una funcin que calcule la suma de los divisores de un nmero entero positivo, pudiendo excluir de dicha suma el propio nmero (ser un parmetro adicional (valor 1 o 0) quien determinar si se suma o no). 13. Construya una funcin, llamada amigos, que apoyndose en la funcin anterior, permita ver si dos nmeros son o no amigos (dos nmeros A y B son amigos si la suma de los divisores de A (excluido l mismo) coincide con B y viceversa) 14. Realizar un programa que pida dos nmeros enteros por teclado y muestre por pantalla el siguiente men:

El usuario deber elegir introducir dos valores y a continuacin elegir una opcin (pulsando el carcter correspondiente), el programa deber mostrar el resultado por pantalla. Cada una de las opciones a realizarse en el men la debe realizar una funcin especfica, sumar(num1, num2); restar(num1,num2) etc

15. Realizar una funcin que reciba como entrada una frase acabada en punto, y devuelva el nmero de vocales y el nmero total de caracteres ledos sin incluir los espacios en blanco. 16. Realizar una funcin que reciba un array de caracteres y devuelva en una variable el nmero de palabras que hay en el array. 17. Realizar una funcin que recibe una cadena de caracteres, y cambia todas las vocales por punto. 18. Realizar un programa que lea un nombre con apellidos por teclado y a continuacin muestre el siguiente men:

53

You might also like