SlideShare una empresa de Scribd logo
1
NetBeans IDE es un entorno integrado de desarrollo que permite crear
aplicaciones w eb, de escritorio y móviles basadas en estándares de la
industria utilizando las últimas tecnologías para los desarrolladores de
Softw are de Java.
El IDE de NetBeans es un producto gratuito y sin restricciones de uso.
Cuando se descarga el IDE obtienes una herramienta de desarrollo para escribir, compilar, depurar e
implementar programas en Java. Existen plugins disponibles que soportan otros lenguajes y tecnologías, desde
C y C++ a XML, HTML y Java Server Pages.
NetBeans es un proyecto open source de desarrollo escrita en Java. Se trata de una aplicación para desarrolo
en Java. Sun MicroSystems fundó el proyecto open source NetBeans en junio 2000 y continúa siendo el
patrocinador principal de los proyectos.
Netbeans consta principalmente de dos aplicaciones:
Netbeans IDE : Es el entorno de desarrollo para los programadores de código escrito en Java pero que sirve de
soporte a otros lenguajes de programación.
Plataforma Netbeans : Es una estructura para crear aplicaciones de escritorio.
Algunas de sus características son:
Soporte para escritura de servlets.
Completado de código.
Ayuda on-line.
Ayudas con el código.
Atención : requiere tener Java 2 SDK (Compilador y MVJ).
Descarga de NetBeans IDE
Para descargar Netbeans IDE debes hacerlo desde su sitio oficial w ww.netbeans.org el proceso es muy sencillo,
solo selecciona la plataforma y el idioma en que vas a instalar el paquete, en este caso elegimos la opción
Window s e inglés, ya que desafortunadamente, solo existen paquetes para Japonés y Chino simplificado.
Instalación de NetBeans
Una vez descargado NetBeans IDE, el proceso de instalación difiere dependiendo del tipo de paquete. Solo
cubriremos la instalación de NetBeans usando el instalador en Plataforma Window s.
2
Pasos de Instalación
Ejecutar el archivo “jdk-1_5_0_06-nb-5_0-w in.exe” , que es la ultima versión del IDE (NetBeans 5.0) y haciendo
uso del Wizard aparecerá una ventana de Bienvenida.
Luego leer la licencia y confirmar que aceptas los términos de la misma:
El instalador te informará la ruta donde será instalado NetBeans, si estás de acuerdo con la ruta, haz click en
siguiente, de lo contrario elige la opción " Brow se" y elige otra ruta:
3
Inmediatamente se instalara el Sistema, conjuntamente con su JDK incorporado.
4
Finalmente hacemos clic en Finísh para terminar con la instalación. Es es todo, ya tienes instalado el IDE de
NetBeans para desarrollar en Java
5
Capitulo 1
CREACION DE UNA APLICACIÓN CON NETBEANS
un Microsystems, líder en servidores para Internet, uno de cuyos lemas desde
hace mucho tiempo es "the netw ork is the computer" (lo que quiere dar a
entender que el verdadero ordenador es la red en su conjunto y no cada máquina
individual), es quien ha desarrollado el lenguaje Java, en un intento de resolver
simultáneamente todos los problemas que se le plantean a los desarrolladores de
softw are por la proliferación de arquitecturas incompatibles, tanto entre las
diferentes máquinas como entre los diversos sistemas operativos y sistemas de
ventanas que funcionaban sobre una misma máquina.
NETBEANS
Netbeans es un IDE completo, el cual permite programar con el lenguaje java de una manera fácil y rápida, para
la creación de páginas dinámicas JSP y Servlets, Netbeans viene con el servidor Tomcat el cual se ejecuta
automáticamente al ejecutar la pagina JSP. A continuación vamos a ver las características principales de este
entrono.
Pantalla inicial de Netbeans :
Para crear un nuevo proyecto: del menú File elegir la opción New Project, en la ventana siguiente elegir la opción
general y de la lista de la derecha la opción Java Application tal como se muestra en la figura siguiente:
S
6
En la ventana siguiente establecer el nombre del proyecto y la carpeta donde se almacenará, use el botón Browse
para crear o seleccionar una carpeta.
Luego de crear el proyecto aparecerá la lista de subcarpetas que Netbeans crea por defecto para el proyecto tal
como se muestra en la figura siguiente:
7
CREACION DE UNA APLICACIÓN EN MODO CONSOLA
Ahora vamos a crear un nuevo archivo, para esto del menú File elegir la opción New File, aparecerá la ventana
siguiente, en esta ventana elegir la opción Java Classes y de la lista de la derecha la opción Java Main Class
En la ventana siguiente deberá colocar el nombre del archivo:
Luego del paso anterior tendremos en pantalla el área de creación de código (a la derecha), y la lista de archivos
creados (a la izquierda), luego de crear nuestra aplicación deberá compilarlo y ejecutarlo, para esto haga clic con
el botón derecho del Mouse sobre el nombre del archivo tal como se muestra en la figura siguiente:
8
Al ejecutar una aplicación en modo consola, la información del proceso de compilación y ejecución se mostrar
en la venta output tal como se muestra en la figura siguiente:
CREACION DE UNA APLICACIÓN EN ENTORNO GRAFICO
Para crear una aplicación en entorno grafico, elegir del menú File la opción New File, en la ventana siguiente, de
la lista de la izquierda elegir Java GUI Forms y del lado de la derecha la opción JFrame Form.
En la siguiente ventana debemos colocar el nombre del archivo:
en la siguiente ventana tenemos varias partes:
9
 Ficha de proyecto, el cual se encuentra en la parte superior izquierda, aquí encontrara todos los archivos
fuente y compilados de su aplicación
 Ficha Palette: el cual se encuentra en la parte superior derecha,aquí encontrara la lista de componentes
java
 Ficha Inspector: el cual se muestra en la parte inferior izquierda, aquí se muestra la lista de componentes
añadidos al formulario
 Ficha Properties: se muestra en la parte inferior derecha, aquí encontrara la lista de propiedades del
componente seleccionado
 en la parte central superior tenemos dos botones:
o Source: permite entra a la venta de código
o Design: permite volver al formulario
CERRAR UN PROYECTO
Para cerrar el proyecto, haga clic con el botón derecho del Mouse sobre el nombre del proyecto luego elegir la
opción Close Project tal como se muestra en la figura siguiente:
ABRIR UNA APLICACIÓN CREADO EN NETBEANS
10
Para abrir una aplicación creado en Netbeans, haga clic en el menú File luego en la opción Open Project, luego
aparecerá la venta siguiente, debe buscar la carpeta que contiene el nombre de su proyecto, observe que esta
carpeta posee un pequeño rectángulo, indica que es la carpeta que debe seleccionar, luego hacer clic en el botón
Open Project Fólder
Al abrir el proyecto tendremos los archivos que hemos creado tal como se muestra en la figura siguiente:
11
Capitulo 2
OPERADORES Y TIPOS DE DATOS
Cuando se programa en Java, se coloca todo el código en métodos, de la misma forma que se escriben funciones
en lenguajes como C.
Comentarios
En Java hay tres tipos de comentarios:
// comentarios para una sola línea
/* comentarios de una o
más líneas
*/
/** comentario de documentación, de una o más líneas
*/
Los dos primeros tipos de comentarios son los que todo programador conoce y se utilizan del mismo modo. Los
comentarios de documentación, colocados inmediatamente antes de una declaración (de variable o función),
indican que ese comentario ha de ser colocado en la documentación que se genera automáticamente cuando se
utiliza la herramienta de Java, javadoc. Dichos comentarios sirven como descripción del elemento declarado
permitiendo generar una documentación de nuestras clases escrita al mismo tiempo que se genera el código.
En este tipo de comentario para documentación, se permite la introducción de algunos tokens o palabras clave,
que harán que la información que les sigue aparezca de forma diferente al resto en la documentación.
Identificadores
Los identificadores nombran variables, funciones, clases y objetos; cualquier cosa que el programador necesite
identificar o usar.
En Java, un identificador comienza con una letra, un subrayado (_) o un símbolo de dólar ($). Los siguientes
caracteres pueden ser letras o dígitos. Se distinguen las mayúsculas de las minúsculas y no hay longitud máxima.
Serían identificadores válidos:
identificador
nombre_usuario
Nombre_Usuario
_variable_del_sistema
$transaccion
y su uso sería, por ejemplo:
int contador_principal;
char _lista_de_ficheros;
float $cantidad_en_Ptas;
Palabras clave
12
Las siguientes son las palabras clave que están definidas en Java y que no se pueden utilizar como
indentificadores:
abstract continue for new sw itch
boolean default goto null synchronized
break do if package this
byte double implements private threadsafe
byvalue else import protected throw
case extends instanceof public transient
catch false int return true
char final interface short try
class finally long static void
const float native super w hile
Palabras Reservadas
Además, el lenguaje se reserva unas cuantas palabras más, pero que hasta ahora no tienen un cometido
específico. Son:
cast future generic inner
operator outer rest var
VARIABLES
Unidad básica de almacenamiento, la creación es la combinación de un identificador, un tipo y un ámbito.
Tenemos 8 tipos de variables, la sintaxis para la creación.
tipo identificador = valor;
TIPO TAM AÑO RANGO
byte 8 bits Valores numéricos de –128 a 127
short 16 bits
Valores numéricos de –32.768 a
32.767
int 32 bits
Valores numéricos de –2.147.483.648
a 2.147.483.647
long 64 bits Valores numéricos sin límite.
float 32 bits Valores numéricos hasta 38 cifras
double 64 bits Valores numéricos hasta 308 cifras
char 16 bits Valores alfanuméricos
String
Según
long
Se utiliza para cadenas de caracteres
boolean 8 bits Solo admite TRUE o FALSE
matriz[ ]
Según
long
Agrupar variables del mismo tipo.
EJEM PLO: Programa utilizando variables.
class hola{
public static void main(String args[ ]){
int x,y;
x=42;
y=12;
System.out.print(“X= “ +x);
System.out.println(“Y= “ +y);
13
}
}
OPERADORES
Aritméticos DESCRIPCION
+ Suma
- Resta
* Multiplica
/ Divide
% Devuelve el resto de una división
++ Incrementa en 1
-- Decremento en 1
*Solo se pueden utilizar para variables de tipo numérico.
Relacionales DESCRIPCION
= = Igual
!= Distinto
> Mayor que
< Menor que
>= Mayor o igual
<= Menor o igual
*Para todo tipo de datos.
Lógicos DESCRIPCION
&& condición Y condición
| | condición O condición
! Negación de la condición
INTRODUCCIÓN DE DATOS
Para introducir valores en aplicaciones que trabajan bajo MS-DOS se utiliza el argumento (matriz de String) de
la función main. Estos valores se introducción a la hora de ejecutar el programa, es decir, desde el prompt de
MS-DOS. Hay que tener en cuenta que estos valores serán siempre de tipo String y si queremos realizar
operaciones matemáticas deberemos transformar a valor numérico. En los applet esta manera de introducir
datos quedará desfasada.
14
Ejemplo 1:
Ejemplo 2:
Ejemplo 3 :
Ejemplo 4 :
15
Ejercicios Propuestos
1. Una persona ha comprado un televisor y una refrigeradora. Por el televisor obtuvo un 15 % de descuento
y por la refrigeradora a 11%. La persona desea saber cuanto había tenido que pagar si no hubiera
ningún descuento y a cuanto asciende el descuento total. Para el efecto la persona sólo cuenta con el
monto pagado por el televisor y con el monto pagado por la refrigeradora. Diseñe un programa que
resuelve este problema.
2. La repartición de ganancias en una empresa se hace en forma proporcional al numero de acciones de
cada uno de sus tres socios. Diseñe un programa que permita obtener el monto que le corresponde a
cada socio y que porcentaje representa cada monto respecto de la ganancia total repartida.
3. En una tienda han puesto en oferta la venta de todos sus artículos por cambio de estación ofreciendo
un “15% + 15% de descuento”. El primer 15% se aplica al importe de la compra, mientras que el segundo
15% se aplica al importe que resulta de restar el importe de la compra menos el primer descuento. Una
persona ha adquirido cantidades diferentes de dos tipos de artículos y desea saber a cuanto ascienden
los importes totales de la compra, del descuento y a pagar. Diseñe un programa que resuelva este
problema.
4. Un hospital ha recibido una donación especial que será repartida de la siguiente forma: 45% para
Medicina General, 30% para Ginecología. 15% para Pediatría y el resto para Traumatología. Diseñe un
programa que determine cuánto recibirá cada área.
5. Una empresa paga a sus vendedores un sueldo básico mensual de S/.300. El sueldo bruto es igual al
sueldo básico más una comisión que es igual al 9% del monto total vendido. Por ley todo vendedor se
somete a un descuento del 11%. Diseñe un programa que calcule la comisión, sueldo bruto, descuento
y sueldo neto de un vendedor de la empresa.
6. Una institución social tiene un centro de salud, un comedor de niños, una escuela y un asilo de ancianos.
La institución recibe anualmente una donación que lo reparte de la siguiente forma: 25% para la
implementación del centro de salud, 35% para el comedor de niños, 25% para la escuela y el resto para
el asilo de ancianos. Diseñe un programa para efectuar el reparto de la donación.
7. Diseñe un programa que permita convertir una cantidad dada en centímetros a metros.
8. Diseñe un programa que permita convertir una cantidad en metros a centímetros.
9. en una tienda se ha puesto en oferta la venta de cierto tipo de producto ofreciendo un descuento fijo
del 11% del monto de la compra. Diseñe un programa que determine el monto de compra, el monto del
descuento y el monto a pagar por la compra de cierta cantidad de unidades del producto.
10. Dadas las siguientes ecuaciones:
a = b + 2c + 3m
c = a + 3b + n
z = m + n + 5ª
Diseñe un programa que determine los valores de m y z conociendo los valores de a, b y c
16
Capitulo 3
SENTENCIAS DE CONTROL SELECTIVAS
Las sentencias de control selectivas es la manera que tiene un lenguaje de programación de provocar que el
flujo de la ejecución avance y se ramifique en función de los cambios de estado de los datos.
IF-ELSE: La ejecución atraviese un conjunto de estados boolean que determinan que se ejecuten distintos
fragmentos de código. La cláusula else es opcional, la expresión puede ser de cualquier tipo y más de una
(siempre que se unan mediante operadores lógicos).
if (expresion-booleana){
Sentencia1;
}
else{
Sentencia2;
}
Ejemplo 5
Crear una aplicación que obtenga el mayor de 2 números
Ejemplo 6
Crear una aplicación que devuelva un mensaje de acuerdo a una nota.
17
Ejemplo 7
Crear una aplicación que devuelva el mayor de tres números.
SWITCH: Realiza distintas operaciones en base al valor de una única variable o expresión. Es una sentencia
muy similar a if-else, pero esta es mucho más cómoda y fácil de comprender.
sw itch (expresión){
18
case valor1:
sentencia;
break;
case valor2:
sentencia;
break;
case valorN:
sentencia;
break;
default:
}
El valor de la expresión se compara con cada uno de los literales de la sentencia case si coincide alguno se
ejecuta el código que le sigue, si ninguno coincide se realiza la sentencia default (opcional), si no hay sentencia
default no se ejecuta nada.
La sentencia break realiza la salida de un bloque de código. En el caso de sentencia sw itch realiza el código y
cuando ejecuta break sale de este bloque y sigue con la ejecución del programa. En el caso que varias sentencias
case realicen la misma ejecución se pueden agrupar, utilizando una sola sentencia break.
Ejemplo 8
Números de la Semana.
Ejemplo 9
Escoger una opción para cada seguro y mostrar su respectivo descuento
19
Ejercicios Propuestos
1. Una empresa ha decidido otorgar una bonificación por fiestas patrias a sus empleados. Si el empleado
tiene mas de un hijo, recibirá una bonificación igual al 12.5% de su sueldo bruto más S/.40 por cada
hijo; en caso contrario, solo recibirá el 12.5% de su sueldo bruto. Diseñe un programa que determine
la bonificación por fiestas patrias que le corresponde aun empleado.
2. En un supermercado se hace una promoción, mediante el cual el cliente obtiene un descuento
dependiendo de un número que se escoge al azar. Si el número escogido es menor que 74 el descuento
es del 15% sobre el total de la compra, si es mayor o igual a 74 el descuento es del 20%. Diseñe un
programa que determine cuanto dinero se le debe descontar a un cliente.
3. Una persona se encuentra indecisa entre comprar un automóvil o un terreno, los cuales cuestan
exactamente lo mismo. Sabe que mientras el automóvil se devalúa, con el terreno sucede lo contrario.
Esta persona comprará el automóvil si al cabo de tres años la devaluación de este no res mayor que la
mitad del incremento del valor del terreno. Diseñe un programa que le ayude a la persona a decidir a
comprar. Considere los porcentajes de devaluación del automóvil y de incremento del terreno como
porcentajes anuales constantes.
4. Una empresa de bienes raíces ofrece casas de interés social bajo las siguientes condiciones: si el
ingreso mensual del comprador es menos de $1250 la cuota inicial será igual al 15% del costo de la
casa y el resto de distribuirá en 120 cuotas mensuales. Si el ingreso mensual del comprador es mayor
o igual al $ 1250 la cuota inicial será igual al 30% del costo de la casa y el resto se distribuirá en 75
cuotas mensuales. Diseñe un algoritmo que determine cuanto debe pagar un comprador por concepto
de cuota inicial y cuanto por cada cuota mensual.
5. Diseñar un programa que ingrese un número entero en el intervalo de 1 a 12 e imprima el nombre del
mes correspondiente. Considere 1 para Enero, 2 para Febrero, etc.. si el número no está en el intervalo
de 1 a 12, imprima un mensaje de error.
6. Diseñar un programa que lea la temperatura promedio de un día e imprima el tipo de clima
correspondiente de acuerdo a la siguiente tabla:
Temperatura Clima
tp ≤ 10 Frio
20
10<tp≤20 Nublado
20<tp ≤30 Caluroso
tp>30 Trópico
7. Una empresa química paga a sus vendedores un sueldo bruto que es igual a la suma de un sueldo
básico quincenal de S/. 250 más una comisión igual a un porcentaje del total de las ventas efectuadas,
de acuerdo a la siguiente tabla:
Monto Vendido Comisión
≥ 20000 16%
≥ 15000 14%
≥ 10000 12%
< 10000 10%
8. Una tienda ha puesto en oferta la venta de discos flexibles de acuerdo a los siguientes criterios.
- Hasta 24 unidades se paga el precio normal.
- Para más de 24 y hasta 48 unidades, se hace un descuento del 10% del precio normal para las
unidades excedidas de 24.
- Para más de 48 y hasta 72 unidades, se hace un descuento del 12.5% del precio normal para las
unidades excedidas d 48.
- Para más de 72 unidades, se hace un descuento del 15% del precio normal para las unidades
excedidas es 72.
9. La estructura tarifaría de SEDAPAL para el consumo doméstico de agua potable es la siguiente:
Consumo (m3) Tarifa
0 a 20 S/.0.80
21 a 30 S/.1.11
31 a 50 S/.1.55
51a 80 S/.2.13
81 a mas S/.3.00
Las tarifas e aplican a los excesos sobre los límites establecidos. Así para un consumo de 28m3 , los
primeros 20m3 se pagan a S/.0.80 por m3 y los 8 restantes a S/.1.11 por m3. Las tarifas no incluyen el
18% de IGV. El importe total a pagar es la suma de una pensión básica de S/.3.10, más el importe por
el consumo del mes y más el importe del impuesto. Diseñe un programa que determine todos los
importantes correspondientes a la factura de un cliente. Considere que el consumo es una cantidad
entera.
10. Diseñar un programa que ingrese un número entero en el intervalo de 1 a 12 e imprima el nombre del
mes correspondiente, considere 1 para Enero, 2 para Febrero, etc. Si el número no esta en el intervalo
de 1 a 12, imprima un mensaje
21
Capitulo 4
SENTENCIAS DE CONTROL REPETITIVAS
BUCLE WHILE
El bucle w hile es el bucle básico de iteración. Sirve para realizar una acción sucesivamente mientras se cumpla
una determinada condición.
La forma general del bucle w hile es la siguiente:
while ( expresiónBooleana ) {
sentencias;
};
Las sentencias se ejecutan mientras la expresiónBooleana tenga un valor de verdadero.
Ejemplo 10
Calcular el valor de la inversión después de 5 años, con un interés de 7%anual
BUCLE FOR
22
Mediante la sentencia for se resume un bucle do-w hile con una iniciación previa. Es muy común que en los bucles
w hile y do-w hile se inicien las variables de control de número de pasadas por el bucle, inmediatamente antes de
comenzar los bucles. Por eso el bucle for está tan extendido.
La forma general de la sentencia for es la siguiente:
for ( iniciación ; terminación ; incremento )
sentencias;
La iniciación es una sentencia que se ejecuta una vez antes de entrar en el bucle.
La terminación es una expresión que determina cuándo se debe terminar el bucle. Esta expresión se evalúa al
final de cada iteración del bucle. Cuando la expresión se evalúa a falso, el bucle termina.
El incremento es una expresión que es invocada en cada iteración del bucle. En realidad puede ser una acción
cualquiera, aunque se suele utilizar para incrementar una variable contador:
for ( i = 0 ; i < 10 ; i++ )
Algunos (o todos) estos componentes pueden omitirse, pero los puntos y coma siempre deben aparecer (aunque
sea sin nada entre sí).
Se debe utilizar el bucle for cuando se conozcan las restricciones del bucle (su instrucción de iniciación, criterio
de terminación e instrucción de incremento).
Ejemplo 11
Tabla de multiplicar de un número.
Ejercicios Propuestos
1. Diseñe un programa que halle la suma de todos los números enteros naturales múltiplos de 3
pero no de 5 que sean menores o iguales que n.
2. Diseñe un programa que halle la suma de n términos de la siguiente serie:
3, -8, 15 , - 24…
3. Diseñe un programa para calcular la suma de n términos de la siguiente serie:
23
1, -1/2 , 1/3 , -1/4 , 1/5,…
4. Diseñe un programa para calcular la suma de n términos de la siguiente serie:
1, -1/65, 11/9, 16/13,…
5. Diseñe un programa que imprima n términos de la siguiente serie. Note que a partir del tercer
término, cada término es igual a la suma de dos términos anteriores.
1, 2, 3, 4, 5, 8, 13 , 21,…
6. Diseñe un programa que calcule el valor de π de acuerdo ala siguiente expresión:
.....
11
4
9
4
7
4
5
4
3
4
4 






 (n Términos)
7. Diseñe un programa que genere la tabla de multiplicar de un número entero n, desde nx1 hasta
n x 12. Por ejemplo, para n igual a 3 el programa imprimirá:
3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
3 x 5 = 15
3 x 6 = 18
3 x 7 = 21
3 x 8 = 24
3 x 9 = 27
3 x 10 = 30
3 x 11 = 33
3 x 12 = 36
8. Diseñe un programa que imprima los primeros m múltiplos de un número entero positivo n.
9. Diseñe un programa para determinar el factorial de un número. El factorial de un número n se
define como 1x2x3x4x5x…x (n-1)xn. El factorial de 0 y de 1 es 1.
10. el movimiento de un proyectil viene dado por la siguiente ecuación:
h= 50 + 200t + 5t2
Siendo h la altura que alcanza el proyectil en metros para un tiempo t en segundos. Diseñe un
programa que imprima una tabla de valores de t vs h para valores del tiempo en el intervalo de 0
a 20 segundos cada 2 segundos.
24
Capitulo 5
METODOS MATEMATICOS Y NUMERICOS
FUNCIONES MATEMÁTICAS Y NUMERICAS
La clase Math contiene todas las funciones en coma flotante que se utilizan en geometría y trigonometría. Todas
las funciones tienen que ir precedidas del objeto Math y deben llevar como cabecera el paquete java.util.*.
FUNCIONES MATIMÁTICAS Y NUMERICAS
La clase Math contiene todas las funciones en coma flotante que se utilizan en geometría y trigonometría.
Todas las funciones tienen que ir precedidas del objeto Math y deben llevar como cabecera el paquete java.util.*.
SENO: Devuelve un double, que es el seno de un ángulo(expresado en radianes).
Math.sin(variable_double);
COSENO: Devuelve un double, que es el coseno de un ángulo(expresado en radianes).
Math.cos(variable_double);
TANGENTE: Devuelve double, es la tangente de un ángulo(expresado en radianes).
Math.tan(variable_double);
POTENCIA: Devuelve el primer numero elevado al segundo. Deben ser double.
Math.pow (double y,double x);
RAÍZ CUADRADA: Devuelve un valor double, que es la raíz cuadrada del parámetro.
Math.sqrt(variable_double);
LOGARITMO: Devuelve el logaritmo natural del parámetro. Debe ser de tipo double.
Math.log(variable_double);
VALOR ABSOLUTO: Devuelve el valor positivo del parámetro. Cualquier tipo.
Math.abs(variable);
MAXIMO: Devuelve el valor máximo de 2 valores. Puede ser de cualquier tipo.
Math.max(variable1,variable2);
MINIMO: Devuelve el valor mínimo de 2 valores. Puede ser de cualquier tipo.
Math.min(variable1,variable2);
REDONDEO: Redondea un valor en coma flotante. Según el parámetro que se le pasa devuelve un tipo u otro
distinto.
Math.round(variable_float); //Devuelve un entero.
Math.round(variable_double); // Devuelve un long.
25
NUMERO ALEATORIO:
Variable_int=(int)(Math.random()*intervalo);
EJEM PLO:
import java.util.*;
class numero{
public static void main(String args[]){
double numero;
double numero1;
double numero2;
numero=2;
numero1=3;
System.out.println(Math.pow(numero,numero1));
numero=9;
numero2=Math.sqrt(numero);
System.out.println("Raiz de 9: "+numero2);
System.out.println("Absoluto:"+Math.abs(-25));
System.out.println(Math.max(numero,numero1));
numero=20.7;
System.out.println(Math.round(numero));
}
}
Ejemplos
a. Crear una aplicación donde se ingresen tres números y devuelva la diferencia entre el mayor y menor
de ellos.
class eje1{
public static void main(String[] args){
System.out.println("Ingrese 1er numero:");int n1=12;
System.out.println("Ingrese 2do numero:");int n2=25;
System.out.println("Ingrese 3er numero:");int n3=10;
int r1=Math.max(n1,n2);
int r2=Math.max(r1,n3);
int k1=Math.min(n1,n2);
int k2=Math.min(k1,n3);
int h=r2-k2;
System.out.println("la diferencia es:"+h);
}
}
2. Crear una aplicación donde se ingresen tres números y devuelva la diferencia entre el mayor y menor
de ellos.
26
class eje2{
public static void main(String[] args){
System.out.println("Ingrese cateto 1:");int c1=16;
System.out.println("Ingrese cateto 2:");int c2=12;
double q1=0,q2=0,q3=0;
q1=Math.pow (c1,2);
q2=Math.pow (c2,2);
q3=q1+q2;
double h=Math.sqrt(q3);
System.out.println("La hipotenusa es:"+h);
}
}
27
Capitulo 6
CREACION DE UN PROYECTO VISUAL, COMPILACION Y EJECUCION
SunMicrosystems,líder en servidores para Internet, uno de cuyos lemas desde hace mucho tiempo es "the
netw ork is the computer"(lo que quiere dar a entender que el verdadero ordenador es la red en su conjunto
y no cada máquina individual),es quien ha desarrollado el lenguaje Java, en un intento de resolver
simultáneamente todos los problemas que se le plantean a los desarrolladores de softw are por la proliferación
de arquitecturas incompatibles, tanto entre las diferentes máquinas como entre los diversos sistemas
operativos y sistemas de ventanas que funcionaban sobre una misma máquina.
NETBEANS y SWING
NetBeans es un proyecto opensource (softw are libre) de gran éxito con una gran base de usuarios, una
comunidad en constante progresión, y con cerca de 100 sociedades (¡ycontando!) en todo el mundo. Sun
Microsystems fundó el proyecto opensource NetBeans en junio2000 y continúa siendo el patrocinador
principal de los proyectos.
Dos proyectos están a disposición: el IDE NetBeans y la Plataforma NetBeans. El IDE NetBeans es un
entorno de desarrollo, una herramienta para programadores para escribir, compilar, corregir errores y para
ejecutar programas. Está escrito en Java-pero puede servir de soporte a cualquier otro lenguaje de
programación.
ELEMENTOS SWING
JTextField
Está pensado para obtener texto del usuario, este tecleará en él y cuando pulse intro podremos disponer del
texto que tecleó. Únicamente se puede recoger una línea de texto. Tiene métodos para recoger el texto del
usuario, poner un texto en él , recoger solo el texto seleccionado, seleccionar una parte del texto, insertar texto,
cortar texto, pegar texto ....
Métodos propios
Variable texto = nombreObjeto.getText( ) ;
Obtiene el texto contenido en el JTextField
Variable texto : Variable de Tipo String que recibe el Texto
NombreObjeto.setText(Texto ) ;
Fija el texto del JtextField por el texto especificado
Texto : Texto a mostrar en el objeto JTextField. Texto es del tipo String
JTextArea
Todo lo dicho para JTextField es válido aquí también; la diferencia entre ambos es que
JTextArea permite al usuario introducir más de una línea de texto.
28
Métodos propios
Variable texto = nombreObjeto.getText( ) ;
Obtiene el texto contenido en el JTextArea
Variable texto : Variable de Tipo String que recibe el Texto
NombreObjeto.setText(Texto ) ;
Fija el texto del JtextArea por el texto especificado
Texto : Texto a mostrar en el objeto JTextArea. Texto es del tipo String
JLabel
No es más que una etiqueta de texto que podemos colocar al lado de cualquier componente para darle una
indicación al usuario de cual es la función de dicho componente.
JButton
Permite crear botones de pulsación
Eventos:
Mouseclicked() .- Ejecuta una accion al hacer clic en el boton
Primera Aplicación con NETBEANS
1.- Crear la siguiente ventana:
El código del botón salir es :
System.exit(0);
2.- Crear la siguiente ventana:
El codigo asociado es:
Evento MouseClicked - jbazul
java.aw t.Color c=new java.aw t.Color(0,0,255);
jlcolor.setForeground(c);
jtcolores.setText("ES AZUL");
Evento MouseClicked - jbverde
java.aw t.Color c=new java.aw t.Color(0,255,0);
jlcolor.setForeground(c);
jtcolores.setText("ES VERDE");
Evento MouseClicked - jbrojo
java.aw t.Color c=new java.aw t.Color(255,0,0);
jlcolor.setForeground(c);
jtcolores.setText("ES ROJO");
3.- Crear la siguiente ventana:
29
El codigo asociado es:
Evento MouseClicked - jbazul
double n1=Double.parseDouble(t1.getText());
double n2=Double.parseDouble(t2.getText());
double n3=Double.parseDouble(t3.getText());
double p1=0,p2=0,p3=0;
if (n1<n2){
p1=n1;
} else{
p1=n2;
}
if (p1<n3){
p2=p1;
} else{
p2=n3;
}
p3=(n1+n2+n3-p2)/2;
t4.setText(Double.toString(p3));
3.- Mostrar la tabla de multiplicar de un numero:
Evento MouseClicked - boton Procesar
int num,mul=0,n;
num=Integer.parseInt(txtnumero.getText());
txtsalida.setText("num" + " "+"x"+" "+"n"+" "+"="+" "+"mul"+"n");
for (n=1;n<=12;n++){
mul=num*n;
txtsalida.append(num + " "+"x"+" "+n+" "+"="+" "+mul+"n");}
30
Evento MouseClicked - boton Borrar
txtsalida.setText("");
txtnumero.setText("");
4.- Mostrar la tabla de multiplicar de un numero:
Evento MouseClicked - boton Procesar
int nota,i;
txth.setText("NOTA"+ "t"+"HISTOGRAMA"+"n");
for(i=1;i<11;i++){
nota= (int) (20*Math.random()+1);
txth.append(nota + "t");
for(int n=1;n<nota+1;n++){
txth.append("");}
txth.append("n");
}
Problema: Realizar la codificación de la siguiente ventana :
JComboBox y JList
31
Un ComboBox proporciona una lista de elementos entre los cuales el usuario puede escoger.
Propiedades
model.- Permite ingresar elementos para desplegar en el JComboBox
selectedIndex .- Ei indice del elemento seleccionado (Empieza en 0)
selectedItem .- El elemento seleccionado
Metodos
getItem .-Devuelve el elemento que está en el índice que se especifiíca.
getSelectedItem.- Devuelve el elemento seleccionado de un ComboBox.
counItems.- Devuelve el número de elementos del ComboBox.
getSelectedItemIndex .- Devuelve el índice del elemento seleccionado.
Ej 5.-Realizar la sgte ventana. En la cual se ingresara un sueldo básico y se tendra una bonificacion de
acuerdo a lo sgte:
Turno Bonificacion
Mañana 100
Tarde 150
Noche 180
Evento MouseClicked – Boton Calcular
int n=cb1.getSelectedIndex();
double s=Double.parseDouble(t2.getText());
double bon=0,tot=0;
if (n==0){
bon=100;
}else if(n==1){
bon=150;
}else if(n==2){
bon=180;
}
tot=s+bon;
t3.setText(Double.toString(bon));
t4.setText(Double.toString(tot));
Ej 6.- Realizar la sgte ventana. En la cual se generara un codigo de acuerdo a lo sgte:Los dos prim eros
caracteres del turno mas los dos primeros caracteres del curso mas el numero de inscripción.
32
Evento MouseClicked – Boton Generar
String a1=(String)turno.getSelectedItem();
String a2=(String)curso.getSelectedItem();
String a3=ni.getText();
String a4=a1.substring(0,2)+ a2.substring(0,2)+a3;
cg.setText(a4);
Ej 6.- Realizar la sgte ventana. En la cual se calculara el precio de acuerdo al item escogido en el Jlist.
Evento MouseClicked – JButton Calcular
double g1=Double.parseDouble(t2.getText());
double g2=Double.parseDouble(t3.getText());
double g3=g1*g2;
t4.setText(Double.toString(g3));
Evento MouseClicked – JList jl1
String n=(String)jl1.getSelectedValue();
t1.setText(n);
JRadioButton
Este control te permite elegir una opción entre varias de las que se nos plantea. Cada opción será un control
JRadioButton diferente.
Propiedades
ButtonGroup.- Indica a que grupo de botones pertenece el JRadioButton
Text .- Asigna el texto del JRadioButton
33
Metodos
mouseclicked() .- Ejecuta una accion al hacer clic en el JRadioButton
isSelected() .- Devuelve el estado del JRadioButton (Verdadero o falso) en caso de que este
activado o desactivado
JCheckBox
La clase JCheckBox sirve para crear casillas de verificación, los cuales alternan entre dos estados: verdadero
(v) y falso (f).
El control CheckBox es similar al control RadioButton, ambos se utilizan para indicar una selección efectuada
por el usuario.
Propiedades
ButtonGroup.- Indica a que grupo de botones pertenece el JRadioButton
Text .- Asigna el texto del JRadioButton
Metodos
getState() .- Devuelve un boolean que representa el estado de la casilla de verificación. La variable
de ejemplar arg de Event en el caso de un Checkbox es un objeto Boolean.
isSelected() .- Devuelve el estado del JCheckBox (Verdadero o falso) en caso de que este activado
o desactivado
Ej 7- Realizar la sgte ventana. En la cual a partir del color seleccionado se mostrara en la caja de texto.
Evento MouseClicked – JRadioButton r1
java.aw t.Color c=new java.aw t.Color(0,0,255);
t1.setBackground(c);
Evento MouseClicked – JRadioButton r2
java.aw t.Color c=new java.aw t.Color(0,255,0);
t1.setBackground(c);
Evento MouseClicked – JRadioButton r3
java.aw t.Color c=new java.aw t.Color(255,0,0);
t1.setBackground(c);
Ej 7- Realizar la sgte ventana. En la cual a partir de las aficiones seleccionadas se mostrara en la caja
de texto
34
Evento MouseClicked – JCheckBox c3
if(c3.isSelected()){
c="Teatro";}
else{
c=""; }
t1.setText(a+" " +b+" "+c);
Evento MouseClicked – JCheckBox c2
if(c2.isSelected()){
b="Cine"; }
else{
b="";}
t1.setText(a+" " +b+" "+c);
Evento MouseClicked – JCheckBox c1
if(c1.isSelected()){
a="Deportes"; }
else{
a=""; }
t1.setText(a+" " +b+" "+c);
Ej 8.- Hallar la suma de la Serie ½ +3/5 + 5/8......
35
Evento MouseClicked – JButton Jbprocesar
int numerador=1,denominador=2,contador=0;
double suma=0;
w hile(contador<100){
txts.append(numerador+"/"+denominador+"n");
suma +=numerador*1.0/denominador;
numerador+=2;
denominador+=3;
contador++;
}
txts.append("nSuma :"+suma);
9. Desarrolle una aplicación en donde se registren nuevos empleados, se ingresen el haber basicio, se
calcule el neto a pagar
listas.
Gerente 2500 sueldo básico
Administrador 2000 sueldo básico
Secretaria 1500 sueldo básico
CTS 3% descuento
AFP 5% descuento
Essalud 6% descuento
Boton Agregar
String x=(String)q1.getText();
p1.addItem(""+x);
Boton Aceptar
String x=(String)q1.getText();
int n=p1.getSelectedIndex();
36
if(n==0)
{
q2.setText(""+x);
}
if(n==1)
{
q2.setText(""+x);
}
double hb=0;
if(r1.isSelected())
{
hb=2500;
}
if(r2.isSelected())
{
hb=2000;
}
if(r3.isSelected())
{
hb=1500;
}
q3.setText(""+hb);
Boton Calcular
double w =Double.parseDouble(q3.getText());
double desc=0;
if(c1.isSelected())
{
desc=w *0.03;
}
else
{
desc=0;
}
q4.setText(""+desc);
if(c2.isSelected())
{
desc=w *0.05;
}
else
{
desc=0;
}
q5.setText(""+desc);
if(c3.isSelected())
{
desc=w *0.06;
}
else
{
desc=0;
}
q6.setText(""+desc);
double o=Double.parseDouble(q4.getText());
double i=Double.parseDouble(q5.getText());
double u=Double.parseDouble(q6.getText());
double total=0;
total=o+i+u;
q7.setText(""+total);
double neto=0;
neto=w -total;
q8.setText(""+neto);
37
10. La sgte aplicación de contexto gráfico: corresponde a la creación de una Paleta de Colores como la
ilustrada en la figura siguiente;el panel de la izquierda toma el color que se obtenga de la combinación
(Rojo, Verde, Azul), donde cada color aporta con un “peso” entre 0 y 255, seleccionado con deslizadores.
Creando el proyecto
a. En el IDE, escoger File > New Project como se muestra a continuación,
b. Al seleccionar New Project se despliega la siguiente ventana,
c. Seleccionar General > Java Aplication como se observa a continuación,
38
d. Teclear Next y se desplegará la siguiente ventana,
e. En esta ventana teclear el nombre del proyecto (en el campo Project Name:) y la carpeta donde lo guardará
(en el campo Project Location:). En esta aplicación el proyecto se denominó Ejemplo_2 el cual se albergará en
la carpeta C:ejemplos_net_beans. Para esta aplicación NO estarán seleccionadas (en los checkbox) las
opciones Set as Main Project y Create Main Class. El campo Create Main Class aparece desactivado. La
razón de esto es que la aplicación será en un contexto gráfico (JFrame). Es decir, más adelante, se definirá una
clase que se denominará PaletaColores.java que heredará de JFrame y la cual tendrá el método main,
f. Teclear Finish. El proyecto ha sido creado y la pantalla tendrá el siguiente aspecto,
g. En el menú principal escoger File > new File y se desplegará a siguiente ventana,
39
h. Escoger Java GUI Forms > JFrame Form y teclear Next. Se despliega la siguiente ventana,
En el campo Class Name escribir PaletaColores y escoger Finísh. La pantalla adquiere el siguiente aspecto,
40
La ventana donde se despliega el código fuente está en modo Design (modo de diseño). Si se selecciona Source
(modo Source) la ventana toma el siguiente aspecto,
Construir la Interfaz Gráfica de la Aplicación
a. Regresar en el IDE al modo Design. De aquí en adelante es donde realmente se logra dimensionar la
potencialidad del IDE.
En el panel de navegación seleccionar Inspector. Ese panel adopta el siguiente aspecto,
A continuación se procederá a pegarle controles y paneles al JFrame. Para esto es necesario primero asignarle
un administrador de diseño.
Ubicar el cursor en la etiqueta [JFrame], hacer clic en el botón derecho del ratón y ubicarse en el item Set
Layout. Se desplegará un popmenú.
41
En este ejemplo se escogerá como administrador de diseño el GridLayout: escogerlo. La ventana se mostrará
de la siguiente forma,
Este administrador de diseño (GridLayout) pegará los elementos en este JFrame en compartimientos de un
arreglo matricial. En este ejemplo se pegará dos JPanel en un arreglo de una fila y dos columnas. Un JPanel se
ubicará en el compartimiento (0, 0) y el otro en el (0, 1).
Para ello es necesario cambiarle las propiedades a GridLayout. Ubique el cursor en la etiqueta GridLayout,
haga clic en el botón derecho del ratón y se desplegará un popmenú. Escoger el item Properties. Se desplegará
la siguiente ventana,
42
En Columns escribir 2 , en Rows 1 y cierre la ventana. Ya se procederá a pegar los dos JPanel.
b. Ubicar el cursor en la etiqueta [JFrame] y hacer clic en el botón derecho del ratón. Se despliega un popmenú.
Escoger Add From Palette > Swing > JPanel. Ya quedó pegado el primer JPanel. Repetir los mismos pasos
para pegar el segundo JPanel.
En este momento el panel Inspector debe tener la siguiente forma,
43
c. Para darle más legibilidad al código fuente es aconsejable cambiar los nombres de las variables por nombres
fáciles de interpretar. Por ejemplo, la variable jPanel1 se cambiará por el nombre
jpanel_pantalla_despliegue_colores, y la variable jPanel2 se cambiará por el nombre jpanel_controles. Para
lograr esto se debe ubicar el cursor primero en la etiqueta jPanel1 y hacer clic en el botón derecho del ratón. Se
despliega un popmenú. Escoger Change Vaiable Name …. Se despliega la siguiente ventana,
En el campo escribir el nombre jpanel_pantalla_despliegue_colores y oprimir el botón ok. Repetir lo mismo
para cambiar el nombre de la variable jPanel2. El aspecto de Inspector es ahora así,
d. Ahora se agregarán tres JPanel al panel jpanel_controles.
Escoger como administrador de diseño un GridLayout de 3 filas y una columna. Recordar ubicar el cursor en la
etiqueta jpanel_controles y hacer clic en el botón derecho del ratón; en el popmenú desplegado escoger Set
Layout > GridLayout. Ubicar ahora el cursor en la etiqueta GridLayout de jpanel_controles, hacer clic en el
44
botón derecho del ratón y en el popmenú desplegado escoger Properties: en la ventana que se despliega escribir
1 en Columns y 3 en Rows y cerrar esta ventana. El aspecto que debe tener el panel Inspector es el siguiente,
Para agregarle el primer JPanel a jpanel_controles, ubicar el cursor sobre él (sobre su etiqueta), hacer clic en
el botón derecho del ratón y en el popmenú que se despliega escoger, Add From Palette > Swing > JPanel.
Ya quedó pegado este primer panel. Repetir estos mismos pasos para adicionar los otros dos JPanel. El
apecto del panel Inspector es,
Cambiar los nombres de las variables jPanel1, jPanel2, jPanel3 por jpanel_control_rojo,
jpanel_control_verde,jpanel_control_azul. Para esto es necesario repetir los pasos que se siguieron para cambiar
las variables jpanel_pantalla_despliegue_colores y jpanel_controles.
En este momento el aspecto del panel Inspector es el siguiente,
45
e. A continuación se agregará a cada uno de los JPanel, jpanel_control_rojo, jpanel_control_verde y
jpanel_control_azul, de a un JSlider (deslizador). Para esto a cada uno de ellos se le asigna un GridLayout de
una fila y 1 columna (no olvide fijar las filas y las columnas en Properties de GridLayout) como administrador
de diseño. El panel Inspector debe tener ahora el siguiente aspecto,
Proceder a pegar los deslizadores: ubicare el cursor en la etiqueta jpanel_control_rojo; hacer clic en el botón
derecho del ratón. En el popmenú desplegado escoger Add From Palette >Swing > JSlider. Repetir los mismos
pasos para pegar los JSlider de los paneles jpanel_control_verde y jpanel_control_azul. El aspecto del panel
Inspector ya es el siguiente,
Proceda a cambiar los nombres de las variables jSlider1, jSlider2 y jSlider3 por jslider_control_rojo,
jslider_control_verde y jslider_control_azul respectivamente. El aspecto de Inspector es ahora,
46
El aspecto del panel Design es,
f. Aliñar un poco el diseño.
En el panel diseño hacer clic sobre el panel izquierdo (jpanel_pantalla_despliegue_colores). Como se observa
en la siguiente figura se despliegan las propiedades de este panel (observar lo que se indica con la flecha). Aquí
se podrá cambiar las propiedades, en este caso del panel seleccionado.
Hacer clic en border. Se despliega la siguiente pantalla.
47
En Title escribir “Despliegue de Colores” y presionar el botón ok. El diseño de la interfaz gráfica debe tener ya
el siguiente aspecto,
Repetir los mismos pasos para los paneles JPanel, jpanel_control_rojo, jpanel_control_verde y
jpanel_control_azul, escribiendo “Rojo”, “Verde”y “Azul” respectivamente. El aspecto de la interfaz gráfica es
ahora el siguiente.
48
g. Cambiar ahora las propiedades de los JSlider: ubicar el cursor en el primer JSlider y hacer clic (ver figura
siguiente).
Cambiar las siguientes propiedades:
Major tick Spacing: 50
Maximum:255
Minor tuck Sapcing: 10
paint labels: seleccionarla
paint ticks: seleccionarla
Repetir el mismo procedimiento sobre los otros dos JSlider. La apariencia de la interfaz gráfica ya es la siguiente,
49
Adicionar los Eventos de los JSlider
Hasta el momento sólo se tiene la interfaz gráfica de la aplicación. Para probar esto, compilar la aplicación: Bulid
> Build Main Proyect. Proceder ahora a ejecutarla: Run > Run Main Project. El resultado es el siguiente,
Sin embargo si se deslizan los controles, NADA PASA. Faltan los EVENTOS.
Adicionar los eventos:
a. Ubicar el cursor sobre el primer JSlider (ver figura) y hacer clic sobre el botón derecho del ratón. Se despliega
un popmenú.
50
Escoger Events > Change > stateChanged. Inmediatamente el cursor queda sumergido en el código fuente
(ver figura siguiente).
En ese sitio es donde se debe agregar el código que se debe ejecutar cuando sucede el deslizamiento del
jslider_control_rojo. Agregar el siguiente código después de la línea de comentario, // TODO add your handling
code here, o sobre ella.
jpanel_pantalla_despliegue_colores.setBackground(new
Color(jslider_control_rojo.getValue(),jslider_control_verde.getValue(),jslider_control_azul.getValue()));
Al compilar el programa se despliega un error. Esto se debe a que se debe importar el paquete java.aw t.* que
trae las librerías del Color. Procer a agregar al principio del código de la clase paletaColores la siguiente
instrucción,
java.aw t.*;
Compilar le programa y ejecutarlo. Observar que al desliza el jSlider del rojo, el panel izquierdo cambia de
tonalidades de rojo.
Repetir el procedimiento para los otros dos jslider agregando el mismo código,
51
jpanel_pantalla_despliegue_colores.setBackground(new
Color(jslider_control_rojo.getValue(),jslider_control_verde.getValue(),jslider_control_azul.getValue()));
Compile y ejecute. Acaba de elaborar una aplicación que reproduce los diferentes colores.
Mejoramiento del programa
Cuando el programa se ejecuta se observa que el panel que despliega el color no está inicializado en debida
forma: no aparece con el color que debería tener para el estado inicial de los JSlider.
Para corregir esto agregar el código que actualiza el color del panel dentro del método constructor de la
aplicación y después de la línea de código, initComponents(), es decir,
public PaletaColores() {
initComponents();
jpanel_pantalla_despliegue_colores.setBackground(new
Color(jslider_control_rojo.getValue(),jslider_control_verde.getValue(),jslider_control_azul.getValue()));
}
Listo: compilar y ejecutar.
Distribuir la aplicación
Dirigirse a la carpeta donde está almacenado el proyecto. Entrar a la subcarpeta dist El archivo .jar corresponde
a la aplicación que se entregará al cliente. En este caso es PaletaColores.jar. Se puede copiar en otra carpeta
o en un disco de almacenamiento. El cliente haciendo doble clic sobre ese archivo ejecutará la aplicación;
obviamente debe poseer en su computador el runtime, es decir, el jre 1.6 de java.
52
Ejercicios Propuestos
1. Crear la siguiente ventana. Calcular el promedio y un mensaje de acuerdo a lo siguiente:
JCreator Promedio = (Practica + Parcial +Final)/3
Netbeans Promedio = (2*Practica + Parcial + 3*Final)/6
VBNet. Promedio = (Practica + 3*Parcial +Final)/5
Eclipse Promedio = (Practica + 2*Parcial + 3*Final)/6;
2. Ingresar el radio de una esfera, y calcular el volumen de esta, y de otra esfera cuyo radio este
aumentado en tres.
3. Ingresar 4 números por teclado y calcular su suma, su producto y la media aritmética.
53
4. Ingresar el radio de un círculo y calcular su perímetro cuando el radio se reduce en 50% y cuando se
reduce en un 25%.
5. Una persona ha comprado un televisor y una refrigeradora . Por el televisor obtuvo un 15% de
descuento y por la refrigeradora 11%. La persona desea saber cuanto habría que tenido que pagar si
no hubiera recibido ningún descuento y a cuanto asciende el descuento total. Para tal efecto la persona
solo cuenta con el monto pagado por el televisor y el monto pagado por la refrigeradora.
54
6. Calcular el promedio y condición de un alumno:
Si el Curso = “Jcreator” entonces Promedio = (practica+parcial+final)/3
Si el Curso = “Pow er Builder” entonces Promedio = (practica + parcial*2 + final*3)/6
Si el Curso = “C sharp” entonces Promedio = (parcial+final)/2
7. Realizar la siguiente ventana y hacer los cálculos de acuerdo a los siguientes datos: Los precios estan
en dolares. El cambio es 3.25
Procesador: Ram:
Pentium IV 2.5 GHz 200 256 Mb 80
Pentium IV 3.0 GHz 250 512 Mb 100
Pentium IV 4.0 GHz 300 1.0 Gb 140
Disco Duro: Otros:
40 Gb 45 Multimedia 45
60 Gb 60 Impresora 110
80 Gb 70 Estabilizador 15
120 Gb 90
55
8. Realizar la siguiente ventana: Documentos : Boleta y Factura
Tipo de Combustible Precio
Gasolina 80 12 S/galon
Gasolina 60 10 S/galon
Diesel 2 8 S/galon
Kerosene 5 S/galon
9. Realizar la sgte ventana:
56
10. Realizar la siguiente ventana:
Los productos se ingresan aleatoriamente:
57
Capitulo 7
PROGRAMACION ORIENTADA A OBJETOS - ENCAPSULAMIENTO
Clases
Una clase es una plantilla que especifica los atributos y el comportamiento de un determinado tipo de objeto. Los
atributos se especifican mediante variables (variables miembro) y el comportamiento mediante métodos
(métodos miembro)
Las clases son lo más simple de Java. Todo en Java forma parte de una clase, es una clase o describe como
funciona una clase. El conocimiento de las clases es fundamental para poder entender los programas Java.
DECLARACIÓN DE LA CLASE
En el caso más general, la declaración de una clase puede contener los siguientes elementos:
class NombreClase {
//Declaracion de variables miembro
tipo1 variable 1;
tipo2 variable 2;
.
.
//Definición del constructor
NombreClase (parámetros) {
}
//Definición de metodos miembro
tipo1 metodo1 (parámetros) {
}
tipo2 metodo2 (parámetros) {
}
.
.
}
Ejemplo
58
class rectangulo{
//Declaracion de variables miembro
double base;
double altura;
//Definición del constructor
public rectangulo (double b,double h){
base =b;
altura=h;}
//Definición de metodos miembro
public double area(){
return base*altura;
}
public double perimetro(double h){
double peri = 2*h + 2*b;
return peri;
}
}
DECLARACIÓN DE ATRIBUTOS
En Java no hay variables globales; todas las variables se declaran dentro del cuerpo de la clase o dentro de un
método. Las variables declaradas dentro de un método son locales al método; las variables declaradas en el
cuerpo de la clase se dice que son miembros de la clase y son accesibles por todos los métodos de la clase.
Finalmente, los atributos miembros de la clase pueden ser atributos de clase o atributos de instancia; se dice
que son atributos de clase si se usa la palabra clave static: en ese caso la variable es única para todas las
instancias (objetos) de la clase (ocupa un único lugar en memoria). Si no se usa static, el sistema crea un lugar
nuevo para esa variable con cada instancia (o sea que es independiente para cada objeto).
La declaración sigue siempre el mismo esquema:
[private|protected|public] [static] [final] Tipo NombreVariable [= Valor];
Java tiene 4 tipos de acceso diferente a las variables o métodos de una clase: privado, protegido, público o por
paquete (si no se especifica nada). De acuerdo a la forma en que se especifica un atributo, objetos de otras
clases tienen distintas posibilidades de accederlos:
Acceso desde: private Protected public (package)
La propia clase S S S S
subclase en el mismo paquete N S S S
otras clases en el mismo paquete N S S S
subclases en otros paquetes N X S N
otras clases en otros paquetes N N S N
S: puede acceder
N: no puede acceder
X: puede acceder al atributo en objetos que pertenezcan a la subclase, pero no en los que pertenecen a la clase
madre. Es un caso especial ; más adelante veremos ejemplos de todo esto.
 Static: Como ya se vio, static sirve para definir un atributo como de clase, o sea único para todos los objetos
de la clase.
 Final: En cuanto a final, como en las clases, determina que un atributo no pueda ser sobreescrito o
redefinido. O sea: no se trata de una variable, sino de una constante.
CONSTRUCTOR
59
Un constructor es un metodo especial que se utiliza para inicializar un objeto inmediatamente después de su
creación.
El constructor de una clase se caracteriza por tener el mismo nombre de su clase y no tener tipo de retorno.
Ejemplo:
public rectangulo (double b,double h){
base =b;
altura=h;
}
DECLARACIÓN DE MÉTODOS
Los métodos, como las clases, tienen una declaración y un cuerpo.
La declaración es del tipo:
[private|protected|public] [static] [abstract] [final] TipoDevuelto NombreMétodo ( [tipo1 nombre1[, tipo2
nombre2 ]…] ) [throws excepción1 [,excepción2]… ] {
Sentencias;
return var;
}
Básicamente, los métodos son como las funciones de C: implementan, a través de funciones, operaciones y
estructuras de control, el cálculo de algún parámetro que es el que devuelven al objeto que los llama. Sólo
pueden devolver un valor (del tipo TipoDevuelto), aunque pueden no devolver ninguno (en ese caso
TipoDevuelto es void). Como ya veremos, el valor de retorno se especifica con la instrucción return, dentro del
método.
Los métodos pueden utilizar valores que les pasa el objeto que los llama (parámetros), indicados con tipo1
nombre1, tipo2 nombre2… en el esquema de la declaración.
Public, private y protected actúan exactamente igual para los métodos que para los atributos, así que veamos
el resto. Los métodos estáticos (static), son, como los atributos, métodos de clase; si el método no es static es
un método de instancia. El significado es el mismo que para los atributos: un método static es compartido por
todas las instancias de la clase.
Ya hemos hablado de las clases abstractas; los métodos abstractos (abstract) son aquellos de los que se da la
declaración pero no la implementación (o sea que consiste sólo del encabezamiento). Cualquier clase que
contenga al menos un método abstracto (o cuya clase madre contenga al menos un método abstracto que no
esté implementado en la hija) es una clase abstracta.
Es final un método que no puede ser redefinido por ningún descendiente de la clase. Las clases native son
aquellas que se implementan en otro lenguaje (por ejemplo C o C++) propio de la máquina. Sun aconseja
utilizarlas bajo riesgo propio, ya que en realidad son ajenas al lenguaje. Finalmente, la cláusula throws sirve
para indicar que la clase genera determinadas excepciones.
Objetos
Un objeto es una instancia o ejemplar de una clase. Cada vez que se crea un objeto , se crea una copia de las
variables miembro declaradas por su clase. Estas variables propias de cada objeto se denominan variables
de instancia
CREACION DE OBJETOS
60
Se siguen los siguientes pasos:
- Se declara una variable referencia. Para esto se usa el operador new. El operador new crea el objeto
dinámicamente (en tiempo de ejecución) y devuelve la direccion de memoria del objeto creado.
nombreClase nombreReferencia = new nombreClase (lista de argumentos)
Para nuestro ejemplo :
rectangulo rectangulito = new rectangulo (4, 6 );
rectangulo rectangulazo = new rectangulo (8, 12 );
El nombre de la clase seguido por los paréntesis invoca al constructor de la clase.
El programa principal (main) se vería de esta manera :
public class arearectangulo{
public static void main (String args[]){
rectangulo rectangulito = new rectangulo (4,6);
rectangulo rectangulazo = new rectangulo (8,12);
System.out.println("EL AREA RECTANGULITO:"+ rectangulito.area());
System.out.println("EL AREA RECTANGULAZO:"+ rectangulazo.area());
System.out.println("EL PERIMETRO RECTANGULITO:"+ rectangulito.perimetro(8));
System.out.println("EL PERIMETRO RECTANGULAZO:"+ rectangulazo.perimetro(12));
}
}
Ej - Realizar la sgte ventana. Aplicar los conceptos aprendidos de la POO.
Vamos a crear dos clases:
CalculoRectangulo. Clase principal. Contiene el Jframe de la aplicación
rectangulo . Clase que contiene la definición de la clase rectangulo
61
CLASE rectangulo.java
package Objeto1;
public class rectangulo {
//Declaracion de variables miembro
double base;
double altura;
//Definición del constructor
public rectangulo (double b,double h){
base =b;
altura=h;
}
//Definición de metodos miembro
public double area(){
return base*altura;
}
public double perimetro(double h){
double peri = 2*(h + base);
return peri;
}
}
CLASE CalculoRectangulo.java
Evento MouseClicked – JButton Calcular
double bb1 = Double.parseDouble(b1.getText());
double hh1 = Double.parseDouble(h1.getText());
rectangulo rectangulito = new rectangulo(bb1,hh1); //Constructor
txtsalida.setText("El area del rectangulito es " + rectangulito.area() + "n");
txtsalida.append("El perimetro del rectangulito es " + rectangulito.perimetro(hh1) + "n");
double bb2 = Double.parseDouble(b2.getText());
double hh2 = Double.parseDouble(h2.getText());
rectangulo rectangulazo = new rectangulo(bb2,hh2); //Constructor
txtsalida.append("El area del rectangulazo es " + rectangulazo.area() + "n");
txtsalida.append("El perimetro del rectangulazo es " + rectangulazo.perimetro(hh2)+ "n");
Ej - Realizar la siguiente ventana. Se trata de una aplicación que simule un cajero automático. Usar los
conceptos de clases.
62
Se tendra las sgtes clases:
CLASE cc.java
package Objeto;
public class cc {
String numcta, nombre;
double monto=0;
cc(String nc, double m, String nn){
numcta = nc;
monto = m;
nombre = nn; }
double deposito(double m) {
return monto = monto + m; }
double retiro(double m){
return monto = monto - m; }
double saldo(){
return monto; }
String obtenercta(){
return numcta; }
String ponernombre(String name){
return nombre = name; }
String obtenernombre(){
return nombre; }
String modificarcta(String ncc){
return numcta = ncc; }
}
CLASE Cuenta.java
Evento MouseClicked – JButton Aceptar
63
if (r1.isSelected()){
String valor = op.show InputDialog("Ingrese su Nombre");
txtsalida.setText(cta.ponernombre(valor));}
if (r2.isSelected()){
String ncta = op.show InputDialog("Ingrese su Numero de Cuenta ");
cta.modificarcta(ncta);
txtsalida.setText(cta.obtenercta());}
if (r3.isSelected()){
String ncta = op.show InputDialog("Ingrese monto a depositar");
cta.deposito(Double.parseDouble(ncta));
txtsalida.setText("Sr(a) " + cta.obtenernombre() + "su numero de cuenta es: " + cta.obtenercta()+ "n");
txtsalida.append("Usted tiene en su cuenta :" + String.valueOf(cta.saldo())); }
if (r4.isSelected()){
String ncta = op.show InputDialog("Ingrese monto a retirar");
cta.retiro(Double.parseDouble(ncta));
txtsalida.setText("Sr(a) " + cta.obtenernombre() + " su numero de cuenta es: " + cta.obtenercta() + "n");
txtsalida.append("Usted tiene en su cuenta :" + String.valueOf(cta.saldo())); }
Ejercicios Propuestos
a) Definir una clase llamada grados, que tenga como propiedad a Celsius , escribir un método que
convierta esta temperatura a grados Fahrenheit.
F=(9/5)*Celsius*32
b) Escribir un programa que tenga una propiedad llamada polar, y un método llamado conversión que
se encargue de convertir la coordenadas polares a rectangulares.
c) Escribir un programa que tenga como propiedad a num(nunero entero positivo) y un método
llamado divisor que muestre los divisores de ese numero.
d) Escribir una clase que tenga como propiedades las longitudes de los 3 lados de un triangulo (a, b y
c) y dos métodos uno que devuelva el área del triangulo y otro que devuelva el perímetro.
e) area= p(p-a)(p-b)(p-c) donde p es el semiperimetro p=(a+b+c)/2 siendo a,b,c los lados de un
triangulo.
f) Diseñe un programa que tenga una clase llama Sueldo y 4 sueldos como propiedades (sueldo1,
sueldo2,sueldo3, sueldo4) y los siguientes metodos:
Promedio()
Maximo () El sueldo maximo
Minimo() El sueldo minimo
Empleado() El numero de empleados que ganan un sueldo inferior a 1000 soles.
g) Diseñe un programa, que tenga una clase llamada calificación cuyas propiedades son el nombre del
curso, la nota practica, el parcial y el final. Para ayudar a los alumnos el profesor del curso ha
prometido incrementar en dos puntos la nota de la practica si es que esta nota es mayor de 10.
Diseñe un programa con el metodo calculo() que determine el promedio final del alumno conociendo
sus tres notas (practica peso 1, parcial peso 2 y final peso 3). . Considere que la nota máxima es
20. Considere 2 objetos: Lenguaje e Ingles.

Más contenido relacionado

Similar a Manual_java.pdf

Instalacion de java y sus herramientas
Instalacion de java y sus herramientasInstalacion de java y sus herramientas
Instalacion de java y sus herramientasJuan Diaz Calixtro
 
Tutorial de eclipsee
Tutorial de eclipseeTutorial de eclipsee
Tutorial de eclipsee
javierot99
 
Software netbeans-ide-7.2
Software netbeans-ide-7.2Software netbeans-ide-7.2
Software netbeans-ide-7.2
Tania Tellez
 
Software netbeans-ide-7.2
Software netbeans-ide-7.2Software netbeans-ide-7.2
Software netbeans-ide-7.2
Arazelii Puentez
 
Diapositivas Software netbeans-ide-7.2
Diapositivas Software netbeans-ide-7.2Diapositivas Software netbeans-ide-7.2
Diapositivas Software netbeans-ide-7.2
Chistian Hernandez
 
Tutorial net beans
Tutorial net beansTutorial net beans
Tutorial net beans
Yarker Castillo del Rosario
 
Inicio jcreator practica1
Inicio jcreator practica1Inicio jcreator practica1
Inicio jcreator practica1
MARTO3000
 
Manual de instalación ambiente de desarrollo básico de java JDK 1.6
Manual de instalación ambiente de desarrollo básico de java JDK 1.6Manual de instalación ambiente de desarrollo básico de java JDK 1.6
Manual de instalación ambiente de desarrollo básico de java JDK 1.6Andres Bedoya Tobon
 
Creación de extensiones nativas
Creación de extensiones nativasCreación de extensiones nativas
Creación de extensiones nativas
Angel Vazquez
 
¿Qué es y cómo instalar un entorno de desarrollo de programación?
¿Qué es y cómo instalar un entorno de desarrollo de programación?¿Qué es y cómo instalar un entorno de desarrollo de programación?
¿Qué es y cómo instalar un entorno de desarrollo de programación?
Agencia La Nave
 
Java script
Java scriptJava script
Java script
Esmeralda Rivas
 
Net reflector
Net reflectorNet reflector
Net reflector
Vinicio Gómez
 
tutorial de eclipse
tutorial de eclipsetutorial de eclipse
tutorial de eclipse
Tania Tellez
 
Netbeans ide 7.2
Netbeans ide 7.2Netbeans ide 7.2
Netbeans ide 7.2
DianaMorales1234
 
como hacer una conexion con mysql
como hacer una conexion con mysqlcomo hacer una conexion con mysql
como hacer una conexion con mysqlguest8564ff
 
Fundamentos programacion
Fundamentos programacionFundamentos programacion
Fundamentos programacionMiquel Angel PF
 
manual Net beans 6.0 Español
manual Net beans 6.0 Españolmanual Net beans 6.0 Español
manual Net beans 6.0 Español
Jefferson Serna
 

Similar a Manual_java.pdf (20)

Instalacion de java y sus herramientas
Instalacion de java y sus herramientasInstalacion de java y sus herramientas
Instalacion de java y sus herramientas
 
Tutorial de eclipsee
Tutorial de eclipseeTutorial de eclipsee
Tutorial de eclipsee
 
Software netbeans-ide-7.2
Software netbeans-ide-7.2Software netbeans-ide-7.2
Software netbeans-ide-7.2
 
Software netbeans-ide-7.2
Software netbeans-ide-7.2Software netbeans-ide-7.2
Software netbeans-ide-7.2
 
Diapositivas Software netbeans-ide-7.2
Diapositivas Software netbeans-ide-7.2Diapositivas Software netbeans-ide-7.2
Diapositivas Software netbeans-ide-7.2
 
Tutorial net beans
Tutorial net beansTutorial net beans
Tutorial net beans
 
Inicio jcreator practica1
Inicio jcreator practica1Inicio jcreator practica1
Inicio jcreator practica1
 
Instalacion de java y NetBeans
Instalacion de java y NetBeansInstalacion de java y NetBeans
Instalacion de java y NetBeans
 
Manual de instalación ambiente de desarrollo básico de java JDK 1.6
Manual de instalación ambiente de desarrollo básico de java JDK 1.6Manual de instalación ambiente de desarrollo básico de java JDK 1.6
Manual de instalación ambiente de desarrollo básico de java JDK 1.6
 
Creación de extensiones nativas
Creación de extensiones nativasCreación de extensiones nativas
Creación de extensiones nativas
 
¿Qué es y cómo instalar un entorno de desarrollo de programación?
¿Qué es y cómo instalar un entorno de desarrollo de programación?¿Qué es y cómo instalar un entorno de desarrollo de programación?
¿Qué es y cómo instalar un entorno de desarrollo de programación?
 
Java script
Java scriptJava script
Java script
 
Net reflector
Net reflectorNet reflector
Net reflector
 
Visual studio c_
Visual studio c_Visual studio c_
Visual studio c_
 
tutorial de eclipse
tutorial de eclipsetutorial de eclipse
tutorial de eclipse
 
Netbeans ide 7.2
Netbeans ide 7.2Netbeans ide 7.2
Netbeans ide 7.2
 
como hacer una conexion con mysql
como hacer una conexion con mysqlcomo hacer una conexion con mysql
como hacer una conexion con mysql
 
Netbeans
Netbeans Netbeans
Netbeans
 
Fundamentos programacion
Fundamentos programacionFundamentos programacion
Fundamentos programacion
 
manual Net beans 6.0 Español
manual Net beans 6.0 Españolmanual Net beans 6.0 Español
manual Net beans 6.0 Español
 

Más de AnaLpez275

PROYECTO INTEGRADOR ASTINI-BELLIDO VFINAL.pdf
PROYECTO INTEGRADOR ASTINI-BELLIDO VFINAL.pdfPROYECTO INTEGRADOR ASTINI-BELLIDO VFINAL.pdf
PROYECTO INTEGRADOR ASTINI-BELLIDO VFINAL.pdf
AnaLpez275
 
PROYECTO INTEGRADOR ASTINI-BELLIDO VFINAL (1).pdf
PROYECTO INTEGRADOR ASTINI-BELLIDO VFINAL (1).pdfPROYECTO INTEGRADOR ASTINI-BELLIDO VFINAL (1).pdf
PROYECTO INTEGRADOR ASTINI-BELLIDO VFINAL (1).pdf
AnaLpez275
 
UPS-CT008640.pdf
UPS-CT008640.pdfUPS-CT008640.pdf
UPS-CT008640.pdf
AnaLpez275
 
ESTRUCTURA DE ANTEPROYECTO_ (2).docx
ESTRUCTURA DE ANTEPROYECTO_ (2).docxESTRUCTURA DE ANTEPROYECTO_ (2).docx
ESTRUCTURA DE ANTEPROYECTO_ (2).docx
AnaLpez275
 
LIBRO Y SOPA LETRAS.docx
LIBRO Y SOPA LETRAS.docxLIBRO Y SOPA LETRAS.docx
LIBRO Y SOPA LETRAS.docx
AnaLpez275
 
Como programar en Java - 7ma Edicion - P. J. Deitel.pdf
Como programar en Java - 7ma Edicion - P. J. Deitel.pdfComo programar en Java - 7ma Edicion - P. J. Deitel.pdf
Como programar en Java - 7ma Edicion - P. J. Deitel.pdf
AnaLpez275
 
AprendiendoJava.pdf
AprendiendoJava.pdfAprendiendoJava.pdf
AprendiendoJava.pdf
AnaLpez275
 
codigomenu-1.docx
codigomenu-1.docxcodigomenu-1.docx
codigomenu-1.docx
AnaLpez275
 
codigomenu-1 (1).docx
codigomenu-1 (1).docxcodigomenu-1 (1).docx
codigomenu-1 (1).docx
AnaLpez275
 
Como programar en Java - 7ma Edicion - P. J. Deitel.pdf
Como programar en Java - 7ma Edicion - P. J. Deitel.pdfComo programar en Java - 7ma Edicion - P. J. Deitel.pdf
Como programar en Java - 7ma Edicion - P. J. Deitel.pdf
AnaLpez275
 
Como programar en Java - 7ma Edicion - P. J. Deitel (1).pdf
Como programar en Java - 7ma Edicion - P. J. Deitel (1).pdfComo programar en Java - 7ma Edicion - P. J. Deitel (1).pdf
Como programar en Java - 7ma Edicion - P. J. Deitel (1).pdf
AnaLpez275
 
Ejercicios_Basicos_de_netbeans.doc
Ejercicios_Basicos_de_netbeans.docEjercicios_Basicos_de_netbeans.doc
Ejercicios_Basicos_de_netbeans.doc
AnaLpez275
 
Desarrollo_de_Software_con_NetBeans_7_1.pdf
Desarrollo_de_Software_con_NetBeans_7_1.pdfDesarrollo_de_Software_con_NetBeans_7_1.pdf
Desarrollo_de_Software_con_NetBeans_7_1.pdf
AnaLpez275
 
INSTITUTO_TECNOLOGICO_DE_MORELIA_PROGRAM.pdf
INSTITUTO_TECNOLOGICO_DE_MORELIA_PROGRAM.pdfINSTITUTO_TECNOLOGICO_DE_MORELIA_PROGRAM.pdf
INSTITUTO_TECNOLOGICO_DE_MORELIA_PROGRAM.pdf
AnaLpez275
 
Ejercicios_Basicos_de_netbeans (2).doc
Ejercicios_Basicos_de_netbeans (2).docEjercicios_Basicos_de_netbeans (2).doc
Ejercicios_Basicos_de_netbeans (2).doc
AnaLpez275
 
Ejercicios_Basicos_de_netbeans (3).doc
Ejercicios_Basicos_de_netbeans (3).docEjercicios_Basicos_de_netbeans (3).doc
Ejercicios_Basicos_de_netbeans (3).doc
AnaLpez275
 
Ejercicios_Basicos_de_netbeans (1).doc
Ejercicios_Basicos_de_netbeans (1).docEjercicios_Basicos_de_netbeans (1).doc
Ejercicios_Basicos_de_netbeans (1).doc
AnaLpez275
 
Guis_en_java_6pp.pdf
Guis_en_java_6pp.pdfGuis_en_java_6pp.pdf
Guis_en_java_6pp.pdf
AnaLpez275
 

Más de AnaLpez275 (18)

PROYECTO INTEGRADOR ASTINI-BELLIDO VFINAL.pdf
PROYECTO INTEGRADOR ASTINI-BELLIDO VFINAL.pdfPROYECTO INTEGRADOR ASTINI-BELLIDO VFINAL.pdf
PROYECTO INTEGRADOR ASTINI-BELLIDO VFINAL.pdf
 
PROYECTO INTEGRADOR ASTINI-BELLIDO VFINAL (1).pdf
PROYECTO INTEGRADOR ASTINI-BELLIDO VFINAL (1).pdfPROYECTO INTEGRADOR ASTINI-BELLIDO VFINAL (1).pdf
PROYECTO INTEGRADOR ASTINI-BELLIDO VFINAL (1).pdf
 
UPS-CT008640.pdf
UPS-CT008640.pdfUPS-CT008640.pdf
UPS-CT008640.pdf
 
ESTRUCTURA DE ANTEPROYECTO_ (2).docx
ESTRUCTURA DE ANTEPROYECTO_ (2).docxESTRUCTURA DE ANTEPROYECTO_ (2).docx
ESTRUCTURA DE ANTEPROYECTO_ (2).docx
 
LIBRO Y SOPA LETRAS.docx
LIBRO Y SOPA LETRAS.docxLIBRO Y SOPA LETRAS.docx
LIBRO Y SOPA LETRAS.docx
 
Como programar en Java - 7ma Edicion - P. J. Deitel.pdf
Como programar en Java - 7ma Edicion - P. J. Deitel.pdfComo programar en Java - 7ma Edicion - P. J. Deitel.pdf
Como programar en Java - 7ma Edicion - P. J. Deitel.pdf
 
AprendiendoJava.pdf
AprendiendoJava.pdfAprendiendoJava.pdf
AprendiendoJava.pdf
 
codigomenu-1.docx
codigomenu-1.docxcodigomenu-1.docx
codigomenu-1.docx
 
codigomenu-1 (1).docx
codigomenu-1 (1).docxcodigomenu-1 (1).docx
codigomenu-1 (1).docx
 
Como programar en Java - 7ma Edicion - P. J. Deitel.pdf
Como programar en Java - 7ma Edicion - P. J. Deitel.pdfComo programar en Java - 7ma Edicion - P. J. Deitel.pdf
Como programar en Java - 7ma Edicion - P. J. Deitel.pdf
 
Como programar en Java - 7ma Edicion - P. J. Deitel (1).pdf
Como programar en Java - 7ma Edicion - P. J. Deitel (1).pdfComo programar en Java - 7ma Edicion - P. J. Deitel (1).pdf
Como programar en Java - 7ma Edicion - P. J. Deitel (1).pdf
 
Ejercicios_Basicos_de_netbeans.doc
Ejercicios_Basicos_de_netbeans.docEjercicios_Basicos_de_netbeans.doc
Ejercicios_Basicos_de_netbeans.doc
 
Desarrollo_de_Software_con_NetBeans_7_1.pdf
Desarrollo_de_Software_con_NetBeans_7_1.pdfDesarrollo_de_Software_con_NetBeans_7_1.pdf
Desarrollo_de_Software_con_NetBeans_7_1.pdf
 
INSTITUTO_TECNOLOGICO_DE_MORELIA_PROGRAM.pdf
INSTITUTO_TECNOLOGICO_DE_MORELIA_PROGRAM.pdfINSTITUTO_TECNOLOGICO_DE_MORELIA_PROGRAM.pdf
INSTITUTO_TECNOLOGICO_DE_MORELIA_PROGRAM.pdf
 
Ejercicios_Basicos_de_netbeans (2).doc
Ejercicios_Basicos_de_netbeans (2).docEjercicios_Basicos_de_netbeans (2).doc
Ejercicios_Basicos_de_netbeans (2).doc
 
Ejercicios_Basicos_de_netbeans (3).doc
Ejercicios_Basicos_de_netbeans (3).docEjercicios_Basicos_de_netbeans (3).doc
Ejercicios_Basicos_de_netbeans (3).doc
 
Ejercicios_Basicos_de_netbeans (1).doc
Ejercicios_Basicos_de_netbeans (1).docEjercicios_Basicos_de_netbeans (1).doc
Ejercicios_Basicos_de_netbeans (1).doc
 
Guis_en_java_6pp.pdf
Guis_en_java_6pp.pdfGuis_en_java_6pp.pdf
Guis_en_java_6pp.pdf
 

Último

DDF Luis GIl Diagrama de flujo (1).pptx
DDF Luis GIl Diagrama de flujo  (1).pptxDDF Luis GIl Diagrama de flujo  (1).pptx
DDF Luis GIl Diagrama de flujo (1).pptx
giltoledoluis123
 
SESIaN N° 03.pptx GESTION PROYECTOS UCV 2024
SESIaN N° 03.pptx GESTION PROYECTOS UCV 2024SESIaN N° 03.pptx GESTION PROYECTOS UCV 2024
SESIaN N° 03.pptx GESTION PROYECTOS UCV 2024
auyawilly
 
Evitando riesgos en la designación y en las actuaciones del comité de selecci...
Evitando riesgos en la designación y en las actuaciones del comité de selecci...Evitando riesgos en la designación y en las actuaciones del comité de selecci...
Evitando riesgos en la designación y en las actuaciones del comité de selecci...
Pedrorivera339137
 
STEEPLE/PESTEL - Análisis de cada Factor
STEEPLE/PESTEL - Análisis de cada FactorSTEEPLE/PESTEL - Análisis de cada Factor
STEEPLE/PESTEL - Análisis de cada Factor
bauldecuentosec
 
plan contable empresarial para empresass
plan contable empresarial para empresassplan contable empresarial para empresass
plan contable empresarial para empresass
SUSANJHEMAMBROSIOSEV1
 
INFORME ADMINISTRACIÓN EN PROPIEDAD HORIZONTAL
INFORME ADMINISTRACIÓN EN PROPIEDAD HORIZONTALINFORME ADMINISTRACIÓN EN PROPIEDAD HORIZONTAL
INFORME ADMINISTRACIÓN EN PROPIEDAD HORIZONTAL
dorislilianagarb
 
MICRO BIT, LUCES Y CÓDIGOS. SERGIO LOZANO
MICRO BIT, LUCES Y CÓDIGOS. SERGIO LOZANOMICRO BIT, LUCES Y CÓDIGOS. SERGIO LOZANO
MICRO BIT, LUCES Y CÓDIGOS. SERGIO LOZANO
sergioandreslozanogi
 
Capacitación chatbot Wapi para enviar por whatsapp
Capacitación chatbot Wapi para enviar por whatsappCapacitación chatbot Wapi para enviar por whatsapp
Capacitación chatbot Wapi para enviar por whatsapp
acastropu
 
U1. C2. TIPOS DE INSTITUCIONES FINANCIERAS.pptx
U1. C2. TIPOS DE INSTITUCIONES FINANCIERAS.pptxU1. C2. TIPOS DE INSTITUCIONES FINANCIERAS.pptx
U1. C2. TIPOS DE INSTITUCIONES FINANCIERAS.pptx
fernfre15
 
niif 15 ejemplos esenciales para su entendimiento
niif 15 ejemplos esenciales para su entendimientoniif 15 ejemplos esenciales para su entendimiento
niif 15 ejemplos esenciales para su entendimiento
crimaldonado
 
BIG DATA EN LOS NEGOCIOS CASO DE INMOBILIARIA
BIG DATA EN LOS NEGOCIOS CASO DE INMOBILIARIABIG DATA EN LOS NEGOCIOS CASO DE INMOBILIARIA
BIG DATA EN LOS NEGOCIOS CASO DE INMOBILIARIA
loidaeunicer
 
509126087-Modelo-de-GREINER.pdf modelos de gestion de cambio
509126087-Modelo-de-GREINER.pdf modelos de gestion de cambio509126087-Modelo-de-GREINER.pdf modelos de gestion de cambio
509126087-Modelo-de-GREINER.pdf modelos de gestion de cambio
VictorManuelGonzalez363568
 
VISIÓN MISIÓN VALORES EMPRESARIALES EN EL
VISIÓN MISIÓN VALORES EMPRESARIALES EN ELVISIÓN MISIÓN VALORES EMPRESARIALES EN EL
VISIÓN MISIÓN VALORES EMPRESARIALES EN EL
LilianBaosMedina
 
Informe del banco centra de Honduras trabajo de estudiantes
Informe del banco centra de Honduras trabajo de estudiantesInforme del banco centra de Honduras trabajo de estudiantes
Informe del banco centra de Honduras trabajo de estudiantes
LibreriaOrellana1
 
BANRURAL S.A Case Study, Guatemala. INCAE Business Review, 2010.
BANRURAL S.A Case Study, Guatemala. INCAE Business Review, 2010.BANRURAL S.A Case Study, Guatemala. INCAE Business Review, 2010.
BANRURAL S.A Case Study, Guatemala. INCAE Business Review, 2010.
Anna Lucia Alfaro Dardón - Ana Lucía Alfaro
 
Trigonometria Plan-el mejor.pptxssssssss
Trigonometria Plan-el mejor.pptxssssssssTrigonometria Plan-el mejor.pptxssssssss
Trigonometria Plan-el mejor.pptxssssssss
QuerubinOlayamedina
 
Supply Chain Management Universidad César Vallejo
Supply Chain Management Universidad César VallejoSupply Chain Management Universidad César Vallejo
Supply Chain Management Universidad César Vallejo
jeuzouu
 
Guía para hacer un Plan de Negocio para tu emprendimiento.pdf
Guía para hacer un Plan de Negocio para tu emprendimiento.pdfGuía para hacer un Plan de Negocio para tu emprendimiento.pdf
Guía para hacer un Plan de Negocio para tu emprendimiento.pdf
pppilarparedespampin
 
MODELO CONS1 NOTA1.pptx.....................................................
MODELO CONS1 NOTA1.pptx.....................................................MODELO CONS1 NOTA1.pptx.....................................................
MODELO CONS1 NOTA1.pptx.....................................................
75254036
 
Diseño Organizacional e Inteligencia Artificial
Diseño Organizacional e Inteligencia ArtificialDiseño Organizacional e Inteligencia Artificial
Diseño Organizacional e Inteligencia Artificial
Israel Alcazar
 

Último (20)

DDF Luis GIl Diagrama de flujo (1).pptx
DDF Luis GIl Diagrama de flujo  (1).pptxDDF Luis GIl Diagrama de flujo  (1).pptx
DDF Luis GIl Diagrama de flujo (1).pptx
 
SESIaN N° 03.pptx GESTION PROYECTOS UCV 2024
SESIaN N° 03.pptx GESTION PROYECTOS UCV 2024SESIaN N° 03.pptx GESTION PROYECTOS UCV 2024
SESIaN N° 03.pptx GESTION PROYECTOS UCV 2024
 
Evitando riesgos en la designación y en las actuaciones del comité de selecci...
Evitando riesgos en la designación y en las actuaciones del comité de selecci...Evitando riesgos en la designación y en las actuaciones del comité de selecci...
Evitando riesgos en la designación y en las actuaciones del comité de selecci...
 
STEEPLE/PESTEL - Análisis de cada Factor
STEEPLE/PESTEL - Análisis de cada FactorSTEEPLE/PESTEL - Análisis de cada Factor
STEEPLE/PESTEL - Análisis de cada Factor
 
plan contable empresarial para empresass
plan contable empresarial para empresassplan contable empresarial para empresass
plan contable empresarial para empresass
 
INFORME ADMINISTRACIÓN EN PROPIEDAD HORIZONTAL
INFORME ADMINISTRACIÓN EN PROPIEDAD HORIZONTALINFORME ADMINISTRACIÓN EN PROPIEDAD HORIZONTAL
INFORME ADMINISTRACIÓN EN PROPIEDAD HORIZONTAL
 
MICRO BIT, LUCES Y CÓDIGOS. SERGIO LOZANO
MICRO BIT, LUCES Y CÓDIGOS. SERGIO LOZANOMICRO BIT, LUCES Y CÓDIGOS. SERGIO LOZANO
MICRO BIT, LUCES Y CÓDIGOS. SERGIO LOZANO
 
Capacitación chatbot Wapi para enviar por whatsapp
Capacitación chatbot Wapi para enviar por whatsappCapacitación chatbot Wapi para enviar por whatsapp
Capacitación chatbot Wapi para enviar por whatsapp
 
U1. C2. TIPOS DE INSTITUCIONES FINANCIERAS.pptx
U1. C2. TIPOS DE INSTITUCIONES FINANCIERAS.pptxU1. C2. TIPOS DE INSTITUCIONES FINANCIERAS.pptx
U1. C2. TIPOS DE INSTITUCIONES FINANCIERAS.pptx
 
niif 15 ejemplos esenciales para su entendimiento
niif 15 ejemplos esenciales para su entendimientoniif 15 ejemplos esenciales para su entendimiento
niif 15 ejemplos esenciales para su entendimiento
 
BIG DATA EN LOS NEGOCIOS CASO DE INMOBILIARIA
BIG DATA EN LOS NEGOCIOS CASO DE INMOBILIARIABIG DATA EN LOS NEGOCIOS CASO DE INMOBILIARIA
BIG DATA EN LOS NEGOCIOS CASO DE INMOBILIARIA
 
509126087-Modelo-de-GREINER.pdf modelos de gestion de cambio
509126087-Modelo-de-GREINER.pdf modelos de gestion de cambio509126087-Modelo-de-GREINER.pdf modelos de gestion de cambio
509126087-Modelo-de-GREINER.pdf modelos de gestion de cambio
 
VISIÓN MISIÓN VALORES EMPRESARIALES EN EL
VISIÓN MISIÓN VALORES EMPRESARIALES EN ELVISIÓN MISIÓN VALORES EMPRESARIALES EN EL
VISIÓN MISIÓN VALORES EMPRESARIALES EN EL
 
Informe del banco centra de Honduras trabajo de estudiantes
Informe del banco centra de Honduras trabajo de estudiantesInforme del banco centra de Honduras trabajo de estudiantes
Informe del banco centra de Honduras trabajo de estudiantes
 
BANRURAL S.A Case Study, Guatemala. INCAE Business Review, 2010.
BANRURAL S.A Case Study, Guatemala. INCAE Business Review, 2010.BANRURAL S.A Case Study, Guatemala. INCAE Business Review, 2010.
BANRURAL S.A Case Study, Guatemala. INCAE Business Review, 2010.
 
Trigonometria Plan-el mejor.pptxssssssss
Trigonometria Plan-el mejor.pptxssssssssTrigonometria Plan-el mejor.pptxssssssss
Trigonometria Plan-el mejor.pptxssssssss
 
Supply Chain Management Universidad César Vallejo
Supply Chain Management Universidad César VallejoSupply Chain Management Universidad César Vallejo
Supply Chain Management Universidad César Vallejo
 
Guía para hacer un Plan de Negocio para tu emprendimiento.pdf
Guía para hacer un Plan de Negocio para tu emprendimiento.pdfGuía para hacer un Plan de Negocio para tu emprendimiento.pdf
Guía para hacer un Plan de Negocio para tu emprendimiento.pdf
 
MODELO CONS1 NOTA1.pptx.....................................................
MODELO CONS1 NOTA1.pptx.....................................................MODELO CONS1 NOTA1.pptx.....................................................
MODELO CONS1 NOTA1.pptx.....................................................
 
Diseño Organizacional e Inteligencia Artificial
Diseño Organizacional e Inteligencia ArtificialDiseño Organizacional e Inteligencia Artificial
Diseño Organizacional e Inteligencia Artificial
 

Manual_java.pdf

  • 1. 1 NetBeans IDE es un entorno integrado de desarrollo que permite crear aplicaciones w eb, de escritorio y móviles basadas en estándares de la industria utilizando las últimas tecnologías para los desarrolladores de Softw are de Java. El IDE de NetBeans es un producto gratuito y sin restricciones de uso. Cuando se descarga el IDE obtienes una herramienta de desarrollo para escribir, compilar, depurar e implementar programas en Java. Existen plugins disponibles que soportan otros lenguajes y tecnologías, desde C y C++ a XML, HTML y Java Server Pages. NetBeans es un proyecto open source de desarrollo escrita en Java. Se trata de una aplicación para desarrolo en Java. Sun MicroSystems fundó el proyecto open source NetBeans en junio 2000 y continúa siendo el patrocinador principal de los proyectos. Netbeans consta principalmente de dos aplicaciones: Netbeans IDE : Es el entorno de desarrollo para los programadores de código escrito en Java pero que sirve de soporte a otros lenguajes de programación. Plataforma Netbeans : Es una estructura para crear aplicaciones de escritorio. Algunas de sus características son: Soporte para escritura de servlets. Completado de código. Ayuda on-line. Ayudas con el código. Atención : requiere tener Java 2 SDK (Compilador y MVJ). Descarga de NetBeans IDE Para descargar Netbeans IDE debes hacerlo desde su sitio oficial w ww.netbeans.org el proceso es muy sencillo, solo selecciona la plataforma y el idioma en que vas a instalar el paquete, en este caso elegimos la opción Window s e inglés, ya que desafortunadamente, solo existen paquetes para Japonés y Chino simplificado. Instalación de NetBeans Una vez descargado NetBeans IDE, el proceso de instalación difiere dependiendo del tipo de paquete. Solo cubriremos la instalación de NetBeans usando el instalador en Plataforma Window s.
  • 2. 2 Pasos de Instalación Ejecutar el archivo “jdk-1_5_0_06-nb-5_0-w in.exe” , que es la ultima versión del IDE (NetBeans 5.0) y haciendo uso del Wizard aparecerá una ventana de Bienvenida. Luego leer la licencia y confirmar que aceptas los términos de la misma: El instalador te informará la ruta donde será instalado NetBeans, si estás de acuerdo con la ruta, haz click en siguiente, de lo contrario elige la opción " Brow se" y elige otra ruta:
  • 3. 3 Inmediatamente se instalara el Sistema, conjuntamente con su JDK incorporado.
  • 4. 4 Finalmente hacemos clic en Finísh para terminar con la instalación. Es es todo, ya tienes instalado el IDE de NetBeans para desarrollar en Java
  • 5. 5 Capitulo 1 CREACION DE UNA APLICACIÓN CON NETBEANS un Microsystems, líder en servidores para Internet, uno de cuyos lemas desde hace mucho tiempo es "the netw ork is the computer" (lo que quiere dar a entender que el verdadero ordenador es la red en su conjunto y no cada máquina individual), es quien ha desarrollado el lenguaje Java, en un intento de resolver simultáneamente todos los problemas que se le plantean a los desarrolladores de softw are por la proliferación de arquitecturas incompatibles, tanto entre las diferentes máquinas como entre los diversos sistemas operativos y sistemas de ventanas que funcionaban sobre una misma máquina. NETBEANS Netbeans es un IDE completo, el cual permite programar con el lenguaje java de una manera fácil y rápida, para la creación de páginas dinámicas JSP y Servlets, Netbeans viene con el servidor Tomcat el cual se ejecuta automáticamente al ejecutar la pagina JSP. A continuación vamos a ver las características principales de este entrono. Pantalla inicial de Netbeans : Para crear un nuevo proyecto: del menú File elegir la opción New Project, en la ventana siguiente elegir la opción general y de la lista de la derecha la opción Java Application tal como se muestra en la figura siguiente: S
  • 6. 6 En la ventana siguiente establecer el nombre del proyecto y la carpeta donde se almacenará, use el botón Browse para crear o seleccionar una carpeta. Luego de crear el proyecto aparecerá la lista de subcarpetas que Netbeans crea por defecto para el proyecto tal como se muestra en la figura siguiente:
  • 7. 7 CREACION DE UNA APLICACIÓN EN MODO CONSOLA Ahora vamos a crear un nuevo archivo, para esto del menú File elegir la opción New File, aparecerá la ventana siguiente, en esta ventana elegir la opción Java Classes y de la lista de la derecha la opción Java Main Class En la ventana siguiente deberá colocar el nombre del archivo: Luego del paso anterior tendremos en pantalla el área de creación de código (a la derecha), y la lista de archivos creados (a la izquierda), luego de crear nuestra aplicación deberá compilarlo y ejecutarlo, para esto haga clic con el botón derecho del Mouse sobre el nombre del archivo tal como se muestra en la figura siguiente:
  • 8. 8 Al ejecutar una aplicación en modo consola, la información del proceso de compilación y ejecución se mostrar en la venta output tal como se muestra en la figura siguiente: CREACION DE UNA APLICACIÓN EN ENTORNO GRAFICO Para crear una aplicación en entorno grafico, elegir del menú File la opción New File, en la ventana siguiente, de la lista de la izquierda elegir Java GUI Forms y del lado de la derecha la opción JFrame Form. En la siguiente ventana debemos colocar el nombre del archivo: en la siguiente ventana tenemos varias partes:
  • 9. 9  Ficha de proyecto, el cual se encuentra en la parte superior izquierda, aquí encontrara todos los archivos fuente y compilados de su aplicación  Ficha Palette: el cual se encuentra en la parte superior derecha,aquí encontrara la lista de componentes java  Ficha Inspector: el cual se muestra en la parte inferior izquierda, aquí se muestra la lista de componentes añadidos al formulario  Ficha Properties: se muestra en la parte inferior derecha, aquí encontrara la lista de propiedades del componente seleccionado  en la parte central superior tenemos dos botones: o Source: permite entra a la venta de código o Design: permite volver al formulario CERRAR UN PROYECTO Para cerrar el proyecto, haga clic con el botón derecho del Mouse sobre el nombre del proyecto luego elegir la opción Close Project tal como se muestra en la figura siguiente: ABRIR UNA APLICACIÓN CREADO EN NETBEANS
  • 10. 10 Para abrir una aplicación creado en Netbeans, haga clic en el menú File luego en la opción Open Project, luego aparecerá la venta siguiente, debe buscar la carpeta que contiene el nombre de su proyecto, observe que esta carpeta posee un pequeño rectángulo, indica que es la carpeta que debe seleccionar, luego hacer clic en el botón Open Project Fólder Al abrir el proyecto tendremos los archivos que hemos creado tal como se muestra en la figura siguiente:
  • 11. 11 Capitulo 2 OPERADORES Y TIPOS DE DATOS Cuando se programa en Java, se coloca todo el código en métodos, de la misma forma que se escriben funciones en lenguajes como C. Comentarios En Java hay tres tipos de comentarios: // comentarios para una sola línea /* comentarios de una o más líneas */ /** comentario de documentación, de una o más líneas */ Los dos primeros tipos de comentarios son los que todo programador conoce y se utilizan del mismo modo. Los comentarios de documentación, colocados inmediatamente antes de una declaración (de variable o función), indican que ese comentario ha de ser colocado en la documentación que se genera automáticamente cuando se utiliza la herramienta de Java, javadoc. Dichos comentarios sirven como descripción del elemento declarado permitiendo generar una documentación de nuestras clases escrita al mismo tiempo que se genera el código. En este tipo de comentario para documentación, se permite la introducción de algunos tokens o palabras clave, que harán que la información que les sigue aparezca de forma diferente al resto en la documentación. Identificadores Los identificadores nombran variables, funciones, clases y objetos; cualquier cosa que el programador necesite identificar o usar. En Java, un identificador comienza con una letra, un subrayado (_) o un símbolo de dólar ($). Los siguientes caracteres pueden ser letras o dígitos. Se distinguen las mayúsculas de las minúsculas y no hay longitud máxima. Serían identificadores válidos: identificador nombre_usuario Nombre_Usuario _variable_del_sistema $transaccion y su uso sería, por ejemplo: int contador_principal; char _lista_de_ficheros; float $cantidad_en_Ptas; Palabras clave
  • 12. 12 Las siguientes son las palabras clave que están definidas en Java y que no se pueden utilizar como indentificadores: abstract continue for new sw itch boolean default goto null synchronized break do if package this byte double implements private threadsafe byvalue else import protected throw case extends instanceof public transient catch false int return true char final interface short try class finally long static void const float native super w hile Palabras Reservadas Además, el lenguaje se reserva unas cuantas palabras más, pero que hasta ahora no tienen un cometido específico. Son: cast future generic inner operator outer rest var VARIABLES Unidad básica de almacenamiento, la creación es la combinación de un identificador, un tipo y un ámbito. Tenemos 8 tipos de variables, la sintaxis para la creación. tipo identificador = valor; TIPO TAM AÑO RANGO byte 8 bits Valores numéricos de –128 a 127 short 16 bits Valores numéricos de –32.768 a 32.767 int 32 bits Valores numéricos de –2.147.483.648 a 2.147.483.647 long 64 bits Valores numéricos sin límite. float 32 bits Valores numéricos hasta 38 cifras double 64 bits Valores numéricos hasta 308 cifras char 16 bits Valores alfanuméricos String Según long Se utiliza para cadenas de caracteres boolean 8 bits Solo admite TRUE o FALSE matriz[ ] Según long Agrupar variables del mismo tipo. EJEM PLO: Programa utilizando variables. class hola{ public static void main(String args[ ]){ int x,y; x=42; y=12; System.out.print(“X= “ +x); System.out.println(“Y= “ +y);
  • 13. 13 } } OPERADORES Aritméticos DESCRIPCION + Suma - Resta * Multiplica / Divide % Devuelve el resto de una división ++ Incrementa en 1 -- Decremento en 1 *Solo se pueden utilizar para variables de tipo numérico. Relacionales DESCRIPCION = = Igual != Distinto > Mayor que < Menor que >= Mayor o igual <= Menor o igual *Para todo tipo de datos. Lógicos DESCRIPCION && condición Y condición | | condición O condición ! Negación de la condición INTRODUCCIÓN DE DATOS Para introducir valores en aplicaciones que trabajan bajo MS-DOS se utiliza el argumento (matriz de String) de la función main. Estos valores se introducción a la hora de ejecutar el programa, es decir, desde el prompt de MS-DOS. Hay que tener en cuenta que estos valores serán siempre de tipo String y si queremos realizar operaciones matemáticas deberemos transformar a valor numérico. En los applet esta manera de introducir datos quedará desfasada.
  • 15. 15 Ejercicios Propuestos 1. Una persona ha comprado un televisor y una refrigeradora. Por el televisor obtuvo un 15 % de descuento y por la refrigeradora a 11%. La persona desea saber cuanto había tenido que pagar si no hubiera ningún descuento y a cuanto asciende el descuento total. Para el efecto la persona sólo cuenta con el monto pagado por el televisor y con el monto pagado por la refrigeradora. Diseñe un programa que resuelve este problema. 2. La repartición de ganancias en una empresa se hace en forma proporcional al numero de acciones de cada uno de sus tres socios. Diseñe un programa que permita obtener el monto que le corresponde a cada socio y que porcentaje representa cada monto respecto de la ganancia total repartida. 3. En una tienda han puesto en oferta la venta de todos sus artículos por cambio de estación ofreciendo un “15% + 15% de descuento”. El primer 15% se aplica al importe de la compra, mientras que el segundo 15% se aplica al importe que resulta de restar el importe de la compra menos el primer descuento. Una persona ha adquirido cantidades diferentes de dos tipos de artículos y desea saber a cuanto ascienden los importes totales de la compra, del descuento y a pagar. Diseñe un programa que resuelva este problema. 4. Un hospital ha recibido una donación especial que será repartida de la siguiente forma: 45% para Medicina General, 30% para Ginecología. 15% para Pediatría y el resto para Traumatología. Diseñe un programa que determine cuánto recibirá cada área. 5. Una empresa paga a sus vendedores un sueldo básico mensual de S/.300. El sueldo bruto es igual al sueldo básico más una comisión que es igual al 9% del monto total vendido. Por ley todo vendedor se somete a un descuento del 11%. Diseñe un programa que calcule la comisión, sueldo bruto, descuento y sueldo neto de un vendedor de la empresa. 6. Una institución social tiene un centro de salud, un comedor de niños, una escuela y un asilo de ancianos. La institución recibe anualmente una donación que lo reparte de la siguiente forma: 25% para la implementación del centro de salud, 35% para el comedor de niños, 25% para la escuela y el resto para el asilo de ancianos. Diseñe un programa para efectuar el reparto de la donación. 7. Diseñe un programa que permita convertir una cantidad dada en centímetros a metros. 8. Diseñe un programa que permita convertir una cantidad en metros a centímetros. 9. en una tienda se ha puesto en oferta la venta de cierto tipo de producto ofreciendo un descuento fijo del 11% del monto de la compra. Diseñe un programa que determine el monto de compra, el monto del descuento y el monto a pagar por la compra de cierta cantidad de unidades del producto. 10. Dadas las siguientes ecuaciones: a = b + 2c + 3m c = a + 3b + n z = m + n + 5ª Diseñe un programa que determine los valores de m y z conociendo los valores de a, b y c
  • 16. 16 Capitulo 3 SENTENCIAS DE CONTROL SELECTIVAS Las sentencias de control selectivas es la manera que tiene un lenguaje de programación de provocar que el flujo de la ejecución avance y se ramifique en función de los cambios de estado de los datos. IF-ELSE: La ejecución atraviese un conjunto de estados boolean que determinan que se ejecuten distintos fragmentos de código. La cláusula else es opcional, la expresión puede ser de cualquier tipo y más de una (siempre que se unan mediante operadores lógicos). if (expresion-booleana){ Sentencia1; } else{ Sentencia2; } Ejemplo 5 Crear una aplicación que obtenga el mayor de 2 números Ejemplo 6 Crear una aplicación que devuelva un mensaje de acuerdo a una nota.
  • 17. 17 Ejemplo 7 Crear una aplicación que devuelva el mayor de tres números. SWITCH: Realiza distintas operaciones en base al valor de una única variable o expresión. Es una sentencia muy similar a if-else, pero esta es mucho más cómoda y fácil de comprender. sw itch (expresión){
  • 18. 18 case valor1: sentencia; break; case valor2: sentencia; break; case valorN: sentencia; break; default: } El valor de la expresión se compara con cada uno de los literales de la sentencia case si coincide alguno se ejecuta el código que le sigue, si ninguno coincide se realiza la sentencia default (opcional), si no hay sentencia default no se ejecuta nada. La sentencia break realiza la salida de un bloque de código. En el caso de sentencia sw itch realiza el código y cuando ejecuta break sale de este bloque y sigue con la ejecución del programa. En el caso que varias sentencias case realicen la misma ejecución se pueden agrupar, utilizando una sola sentencia break. Ejemplo 8 Números de la Semana. Ejemplo 9 Escoger una opción para cada seguro y mostrar su respectivo descuento
  • 19. 19 Ejercicios Propuestos 1. Una empresa ha decidido otorgar una bonificación por fiestas patrias a sus empleados. Si el empleado tiene mas de un hijo, recibirá una bonificación igual al 12.5% de su sueldo bruto más S/.40 por cada hijo; en caso contrario, solo recibirá el 12.5% de su sueldo bruto. Diseñe un programa que determine la bonificación por fiestas patrias que le corresponde aun empleado. 2. En un supermercado se hace una promoción, mediante el cual el cliente obtiene un descuento dependiendo de un número que se escoge al azar. Si el número escogido es menor que 74 el descuento es del 15% sobre el total de la compra, si es mayor o igual a 74 el descuento es del 20%. Diseñe un programa que determine cuanto dinero se le debe descontar a un cliente. 3. Una persona se encuentra indecisa entre comprar un automóvil o un terreno, los cuales cuestan exactamente lo mismo. Sabe que mientras el automóvil se devalúa, con el terreno sucede lo contrario. Esta persona comprará el automóvil si al cabo de tres años la devaluación de este no res mayor que la mitad del incremento del valor del terreno. Diseñe un programa que le ayude a la persona a decidir a comprar. Considere los porcentajes de devaluación del automóvil y de incremento del terreno como porcentajes anuales constantes. 4. Una empresa de bienes raíces ofrece casas de interés social bajo las siguientes condiciones: si el ingreso mensual del comprador es menos de $1250 la cuota inicial será igual al 15% del costo de la casa y el resto de distribuirá en 120 cuotas mensuales. Si el ingreso mensual del comprador es mayor o igual al $ 1250 la cuota inicial será igual al 30% del costo de la casa y el resto se distribuirá en 75 cuotas mensuales. Diseñe un algoritmo que determine cuanto debe pagar un comprador por concepto de cuota inicial y cuanto por cada cuota mensual. 5. Diseñar un programa que ingrese un número entero en el intervalo de 1 a 12 e imprima el nombre del mes correspondiente. Considere 1 para Enero, 2 para Febrero, etc.. si el número no está en el intervalo de 1 a 12, imprima un mensaje de error. 6. Diseñar un programa que lea la temperatura promedio de un día e imprima el tipo de clima correspondiente de acuerdo a la siguiente tabla: Temperatura Clima tp ≤ 10 Frio
  • 20. 20 10<tp≤20 Nublado 20<tp ≤30 Caluroso tp>30 Trópico 7. Una empresa química paga a sus vendedores un sueldo bruto que es igual a la suma de un sueldo básico quincenal de S/. 250 más una comisión igual a un porcentaje del total de las ventas efectuadas, de acuerdo a la siguiente tabla: Monto Vendido Comisión ≥ 20000 16% ≥ 15000 14% ≥ 10000 12% < 10000 10% 8. Una tienda ha puesto en oferta la venta de discos flexibles de acuerdo a los siguientes criterios. - Hasta 24 unidades se paga el precio normal. - Para más de 24 y hasta 48 unidades, se hace un descuento del 10% del precio normal para las unidades excedidas de 24. - Para más de 48 y hasta 72 unidades, se hace un descuento del 12.5% del precio normal para las unidades excedidas d 48. - Para más de 72 unidades, se hace un descuento del 15% del precio normal para las unidades excedidas es 72. 9. La estructura tarifaría de SEDAPAL para el consumo doméstico de agua potable es la siguiente: Consumo (m3) Tarifa 0 a 20 S/.0.80 21 a 30 S/.1.11 31 a 50 S/.1.55 51a 80 S/.2.13 81 a mas S/.3.00 Las tarifas e aplican a los excesos sobre los límites establecidos. Así para un consumo de 28m3 , los primeros 20m3 se pagan a S/.0.80 por m3 y los 8 restantes a S/.1.11 por m3. Las tarifas no incluyen el 18% de IGV. El importe total a pagar es la suma de una pensión básica de S/.3.10, más el importe por el consumo del mes y más el importe del impuesto. Diseñe un programa que determine todos los importantes correspondientes a la factura de un cliente. Considere que el consumo es una cantidad entera. 10. Diseñar un programa que ingrese un número entero en el intervalo de 1 a 12 e imprima el nombre del mes correspondiente, considere 1 para Enero, 2 para Febrero, etc. Si el número no esta en el intervalo de 1 a 12, imprima un mensaje
  • 21. 21 Capitulo 4 SENTENCIAS DE CONTROL REPETITIVAS BUCLE WHILE El bucle w hile es el bucle básico de iteración. Sirve para realizar una acción sucesivamente mientras se cumpla una determinada condición. La forma general del bucle w hile es la siguiente: while ( expresiónBooleana ) { sentencias; }; Las sentencias se ejecutan mientras la expresiónBooleana tenga un valor de verdadero. Ejemplo 10 Calcular el valor de la inversión después de 5 años, con un interés de 7%anual BUCLE FOR
  • 22. 22 Mediante la sentencia for se resume un bucle do-w hile con una iniciación previa. Es muy común que en los bucles w hile y do-w hile se inicien las variables de control de número de pasadas por el bucle, inmediatamente antes de comenzar los bucles. Por eso el bucle for está tan extendido. La forma general de la sentencia for es la siguiente: for ( iniciación ; terminación ; incremento ) sentencias; La iniciación es una sentencia que se ejecuta una vez antes de entrar en el bucle. La terminación es una expresión que determina cuándo se debe terminar el bucle. Esta expresión se evalúa al final de cada iteración del bucle. Cuando la expresión se evalúa a falso, el bucle termina. El incremento es una expresión que es invocada en cada iteración del bucle. En realidad puede ser una acción cualquiera, aunque se suele utilizar para incrementar una variable contador: for ( i = 0 ; i < 10 ; i++ ) Algunos (o todos) estos componentes pueden omitirse, pero los puntos y coma siempre deben aparecer (aunque sea sin nada entre sí). Se debe utilizar el bucle for cuando se conozcan las restricciones del bucle (su instrucción de iniciación, criterio de terminación e instrucción de incremento). Ejemplo 11 Tabla de multiplicar de un número. Ejercicios Propuestos 1. Diseñe un programa que halle la suma de todos los números enteros naturales múltiplos de 3 pero no de 5 que sean menores o iguales que n. 2. Diseñe un programa que halle la suma de n términos de la siguiente serie: 3, -8, 15 , - 24… 3. Diseñe un programa para calcular la suma de n términos de la siguiente serie:
  • 23. 23 1, -1/2 , 1/3 , -1/4 , 1/5,… 4. Diseñe un programa para calcular la suma de n términos de la siguiente serie: 1, -1/65, 11/9, 16/13,… 5. Diseñe un programa que imprima n términos de la siguiente serie. Note que a partir del tercer término, cada término es igual a la suma de dos términos anteriores. 1, 2, 3, 4, 5, 8, 13 , 21,… 6. Diseñe un programa que calcule el valor de π de acuerdo ala siguiente expresión: ..... 11 4 9 4 7 4 5 4 3 4 4         (n Términos) 7. Diseñe un programa que genere la tabla de multiplicar de un número entero n, desde nx1 hasta n x 12. Por ejemplo, para n igual a 3 el programa imprimirá: 3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15 3 x 6 = 18 3 x 7 = 21 3 x 8 = 24 3 x 9 = 27 3 x 10 = 30 3 x 11 = 33 3 x 12 = 36 8. Diseñe un programa que imprima los primeros m múltiplos de un número entero positivo n. 9. Diseñe un programa para determinar el factorial de un número. El factorial de un número n se define como 1x2x3x4x5x…x (n-1)xn. El factorial de 0 y de 1 es 1. 10. el movimiento de un proyectil viene dado por la siguiente ecuación: h= 50 + 200t + 5t2 Siendo h la altura que alcanza el proyectil en metros para un tiempo t en segundos. Diseñe un programa que imprima una tabla de valores de t vs h para valores del tiempo en el intervalo de 0 a 20 segundos cada 2 segundos.
  • 24. 24 Capitulo 5 METODOS MATEMATICOS Y NUMERICOS FUNCIONES MATEMÁTICAS Y NUMERICAS La clase Math contiene todas las funciones en coma flotante que se utilizan en geometría y trigonometría. Todas las funciones tienen que ir precedidas del objeto Math y deben llevar como cabecera el paquete java.util.*. FUNCIONES MATIMÁTICAS Y NUMERICAS La clase Math contiene todas las funciones en coma flotante que se utilizan en geometría y trigonometría. Todas las funciones tienen que ir precedidas del objeto Math y deben llevar como cabecera el paquete java.util.*. SENO: Devuelve un double, que es el seno de un ángulo(expresado en radianes). Math.sin(variable_double); COSENO: Devuelve un double, que es el coseno de un ángulo(expresado en radianes). Math.cos(variable_double); TANGENTE: Devuelve double, es la tangente de un ángulo(expresado en radianes). Math.tan(variable_double); POTENCIA: Devuelve el primer numero elevado al segundo. Deben ser double. Math.pow (double y,double x); RAÍZ CUADRADA: Devuelve un valor double, que es la raíz cuadrada del parámetro. Math.sqrt(variable_double); LOGARITMO: Devuelve el logaritmo natural del parámetro. Debe ser de tipo double. Math.log(variable_double); VALOR ABSOLUTO: Devuelve el valor positivo del parámetro. Cualquier tipo. Math.abs(variable); MAXIMO: Devuelve el valor máximo de 2 valores. Puede ser de cualquier tipo. Math.max(variable1,variable2); MINIMO: Devuelve el valor mínimo de 2 valores. Puede ser de cualquier tipo. Math.min(variable1,variable2); REDONDEO: Redondea un valor en coma flotante. Según el parámetro que se le pasa devuelve un tipo u otro distinto. Math.round(variable_float); //Devuelve un entero. Math.round(variable_double); // Devuelve un long.
  • 25. 25 NUMERO ALEATORIO: Variable_int=(int)(Math.random()*intervalo); EJEM PLO: import java.util.*; class numero{ public static void main(String args[]){ double numero; double numero1; double numero2; numero=2; numero1=3; System.out.println(Math.pow(numero,numero1)); numero=9; numero2=Math.sqrt(numero); System.out.println("Raiz de 9: "+numero2); System.out.println("Absoluto:"+Math.abs(-25)); System.out.println(Math.max(numero,numero1)); numero=20.7; System.out.println(Math.round(numero)); } } Ejemplos a. Crear una aplicación donde se ingresen tres números y devuelva la diferencia entre el mayor y menor de ellos. class eje1{ public static void main(String[] args){ System.out.println("Ingrese 1er numero:");int n1=12; System.out.println("Ingrese 2do numero:");int n2=25; System.out.println("Ingrese 3er numero:");int n3=10; int r1=Math.max(n1,n2); int r2=Math.max(r1,n3); int k1=Math.min(n1,n2); int k2=Math.min(k1,n3); int h=r2-k2; System.out.println("la diferencia es:"+h); } } 2. Crear una aplicación donde se ingresen tres números y devuelva la diferencia entre el mayor y menor de ellos.
  • 26. 26 class eje2{ public static void main(String[] args){ System.out.println("Ingrese cateto 1:");int c1=16; System.out.println("Ingrese cateto 2:");int c2=12; double q1=0,q2=0,q3=0; q1=Math.pow (c1,2); q2=Math.pow (c2,2); q3=q1+q2; double h=Math.sqrt(q3); System.out.println("La hipotenusa es:"+h); } }
  • 27. 27 Capitulo 6 CREACION DE UN PROYECTO VISUAL, COMPILACION Y EJECUCION SunMicrosystems,líder en servidores para Internet, uno de cuyos lemas desde hace mucho tiempo es "the netw ork is the computer"(lo que quiere dar a entender que el verdadero ordenador es la red en su conjunto y no cada máquina individual),es quien ha desarrollado el lenguaje Java, en un intento de resolver simultáneamente todos los problemas que se le plantean a los desarrolladores de softw are por la proliferación de arquitecturas incompatibles, tanto entre las diferentes máquinas como entre los diversos sistemas operativos y sistemas de ventanas que funcionaban sobre una misma máquina. NETBEANS y SWING NetBeans es un proyecto opensource (softw are libre) de gran éxito con una gran base de usuarios, una comunidad en constante progresión, y con cerca de 100 sociedades (¡ycontando!) en todo el mundo. Sun Microsystems fundó el proyecto opensource NetBeans en junio2000 y continúa siendo el patrocinador principal de los proyectos. Dos proyectos están a disposición: el IDE NetBeans y la Plataforma NetBeans. El IDE NetBeans es un entorno de desarrollo, una herramienta para programadores para escribir, compilar, corregir errores y para ejecutar programas. Está escrito en Java-pero puede servir de soporte a cualquier otro lenguaje de programación. ELEMENTOS SWING JTextField Está pensado para obtener texto del usuario, este tecleará en él y cuando pulse intro podremos disponer del texto que tecleó. Únicamente se puede recoger una línea de texto. Tiene métodos para recoger el texto del usuario, poner un texto en él , recoger solo el texto seleccionado, seleccionar una parte del texto, insertar texto, cortar texto, pegar texto .... Métodos propios Variable texto = nombreObjeto.getText( ) ; Obtiene el texto contenido en el JTextField Variable texto : Variable de Tipo String que recibe el Texto NombreObjeto.setText(Texto ) ; Fija el texto del JtextField por el texto especificado Texto : Texto a mostrar en el objeto JTextField. Texto es del tipo String JTextArea Todo lo dicho para JTextField es válido aquí también; la diferencia entre ambos es que JTextArea permite al usuario introducir más de una línea de texto.
  • 28. 28 Métodos propios Variable texto = nombreObjeto.getText( ) ; Obtiene el texto contenido en el JTextArea Variable texto : Variable de Tipo String que recibe el Texto NombreObjeto.setText(Texto ) ; Fija el texto del JtextArea por el texto especificado Texto : Texto a mostrar en el objeto JTextArea. Texto es del tipo String JLabel No es más que una etiqueta de texto que podemos colocar al lado de cualquier componente para darle una indicación al usuario de cual es la función de dicho componente. JButton Permite crear botones de pulsación Eventos: Mouseclicked() .- Ejecuta una accion al hacer clic en el boton Primera Aplicación con NETBEANS 1.- Crear la siguiente ventana: El código del botón salir es : System.exit(0); 2.- Crear la siguiente ventana: El codigo asociado es: Evento MouseClicked - jbazul java.aw t.Color c=new java.aw t.Color(0,0,255); jlcolor.setForeground(c); jtcolores.setText("ES AZUL"); Evento MouseClicked - jbverde java.aw t.Color c=new java.aw t.Color(0,255,0); jlcolor.setForeground(c); jtcolores.setText("ES VERDE"); Evento MouseClicked - jbrojo java.aw t.Color c=new java.aw t.Color(255,0,0); jlcolor.setForeground(c); jtcolores.setText("ES ROJO"); 3.- Crear la siguiente ventana:
  • 29. 29 El codigo asociado es: Evento MouseClicked - jbazul double n1=Double.parseDouble(t1.getText()); double n2=Double.parseDouble(t2.getText()); double n3=Double.parseDouble(t3.getText()); double p1=0,p2=0,p3=0; if (n1<n2){ p1=n1; } else{ p1=n2; } if (p1<n3){ p2=p1; } else{ p2=n3; } p3=(n1+n2+n3-p2)/2; t4.setText(Double.toString(p3)); 3.- Mostrar la tabla de multiplicar de un numero: Evento MouseClicked - boton Procesar int num,mul=0,n; num=Integer.parseInt(txtnumero.getText()); txtsalida.setText("num" + " "+"x"+" "+"n"+" "+"="+" "+"mul"+"n"); for (n=1;n<=12;n++){ mul=num*n; txtsalida.append(num + " "+"x"+" "+n+" "+"="+" "+mul+"n");}
  • 30. 30 Evento MouseClicked - boton Borrar txtsalida.setText(""); txtnumero.setText(""); 4.- Mostrar la tabla de multiplicar de un numero: Evento MouseClicked - boton Procesar int nota,i; txth.setText("NOTA"+ "t"+"HISTOGRAMA"+"n"); for(i=1;i<11;i++){ nota= (int) (20*Math.random()+1); txth.append(nota + "t"); for(int n=1;n<nota+1;n++){ txth.append("");} txth.append("n"); } Problema: Realizar la codificación de la siguiente ventana : JComboBox y JList
  • 31. 31 Un ComboBox proporciona una lista de elementos entre los cuales el usuario puede escoger. Propiedades model.- Permite ingresar elementos para desplegar en el JComboBox selectedIndex .- Ei indice del elemento seleccionado (Empieza en 0) selectedItem .- El elemento seleccionado Metodos getItem .-Devuelve el elemento que está en el índice que se especifiíca. getSelectedItem.- Devuelve el elemento seleccionado de un ComboBox. counItems.- Devuelve el número de elementos del ComboBox. getSelectedItemIndex .- Devuelve el índice del elemento seleccionado. Ej 5.-Realizar la sgte ventana. En la cual se ingresara un sueldo básico y se tendra una bonificacion de acuerdo a lo sgte: Turno Bonificacion Mañana 100 Tarde 150 Noche 180 Evento MouseClicked – Boton Calcular int n=cb1.getSelectedIndex(); double s=Double.parseDouble(t2.getText()); double bon=0,tot=0; if (n==0){ bon=100; }else if(n==1){ bon=150; }else if(n==2){ bon=180; } tot=s+bon; t3.setText(Double.toString(bon)); t4.setText(Double.toString(tot)); Ej 6.- Realizar la sgte ventana. En la cual se generara un codigo de acuerdo a lo sgte:Los dos prim eros caracteres del turno mas los dos primeros caracteres del curso mas el numero de inscripción.
  • 32. 32 Evento MouseClicked – Boton Generar String a1=(String)turno.getSelectedItem(); String a2=(String)curso.getSelectedItem(); String a3=ni.getText(); String a4=a1.substring(0,2)+ a2.substring(0,2)+a3; cg.setText(a4); Ej 6.- Realizar la sgte ventana. En la cual se calculara el precio de acuerdo al item escogido en el Jlist. Evento MouseClicked – JButton Calcular double g1=Double.parseDouble(t2.getText()); double g2=Double.parseDouble(t3.getText()); double g3=g1*g2; t4.setText(Double.toString(g3)); Evento MouseClicked – JList jl1 String n=(String)jl1.getSelectedValue(); t1.setText(n); JRadioButton Este control te permite elegir una opción entre varias de las que se nos plantea. Cada opción será un control JRadioButton diferente. Propiedades ButtonGroup.- Indica a que grupo de botones pertenece el JRadioButton Text .- Asigna el texto del JRadioButton
  • 33. 33 Metodos mouseclicked() .- Ejecuta una accion al hacer clic en el JRadioButton isSelected() .- Devuelve el estado del JRadioButton (Verdadero o falso) en caso de que este activado o desactivado JCheckBox La clase JCheckBox sirve para crear casillas de verificación, los cuales alternan entre dos estados: verdadero (v) y falso (f). El control CheckBox es similar al control RadioButton, ambos se utilizan para indicar una selección efectuada por el usuario. Propiedades ButtonGroup.- Indica a que grupo de botones pertenece el JRadioButton Text .- Asigna el texto del JRadioButton Metodos getState() .- Devuelve un boolean que representa el estado de la casilla de verificación. La variable de ejemplar arg de Event en el caso de un Checkbox es un objeto Boolean. isSelected() .- Devuelve el estado del JCheckBox (Verdadero o falso) en caso de que este activado o desactivado Ej 7- Realizar la sgte ventana. En la cual a partir del color seleccionado se mostrara en la caja de texto. Evento MouseClicked – JRadioButton r1 java.aw t.Color c=new java.aw t.Color(0,0,255); t1.setBackground(c); Evento MouseClicked – JRadioButton r2 java.aw t.Color c=new java.aw t.Color(0,255,0); t1.setBackground(c); Evento MouseClicked – JRadioButton r3 java.aw t.Color c=new java.aw t.Color(255,0,0); t1.setBackground(c); Ej 7- Realizar la sgte ventana. En la cual a partir de las aficiones seleccionadas se mostrara en la caja de texto
  • 34. 34 Evento MouseClicked – JCheckBox c3 if(c3.isSelected()){ c="Teatro";} else{ c=""; } t1.setText(a+" " +b+" "+c); Evento MouseClicked – JCheckBox c2 if(c2.isSelected()){ b="Cine"; } else{ b="";} t1.setText(a+" " +b+" "+c); Evento MouseClicked – JCheckBox c1 if(c1.isSelected()){ a="Deportes"; } else{ a=""; } t1.setText(a+" " +b+" "+c); Ej 8.- Hallar la suma de la Serie ½ +3/5 + 5/8......
  • 35. 35 Evento MouseClicked – JButton Jbprocesar int numerador=1,denominador=2,contador=0; double suma=0; w hile(contador<100){ txts.append(numerador+"/"+denominador+"n"); suma +=numerador*1.0/denominador; numerador+=2; denominador+=3; contador++; } txts.append("nSuma :"+suma); 9. Desarrolle una aplicación en donde se registren nuevos empleados, se ingresen el haber basicio, se calcule el neto a pagar listas. Gerente 2500 sueldo básico Administrador 2000 sueldo básico Secretaria 1500 sueldo básico CTS 3% descuento AFP 5% descuento Essalud 6% descuento Boton Agregar String x=(String)q1.getText(); p1.addItem(""+x); Boton Aceptar String x=(String)q1.getText(); int n=p1.getSelectedIndex();
  • 36. 36 if(n==0) { q2.setText(""+x); } if(n==1) { q2.setText(""+x); } double hb=0; if(r1.isSelected()) { hb=2500; } if(r2.isSelected()) { hb=2000; } if(r3.isSelected()) { hb=1500; } q3.setText(""+hb); Boton Calcular double w =Double.parseDouble(q3.getText()); double desc=0; if(c1.isSelected()) { desc=w *0.03; } else { desc=0; } q4.setText(""+desc); if(c2.isSelected()) { desc=w *0.05; } else { desc=0; } q5.setText(""+desc); if(c3.isSelected()) { desc=w *0.06; } else { desc=0; } q6.setText(""+desc); double o=Double.parseDouble(q4.getText()); double i=Double.parseDouble(q5.getText()); double u=Double.parseDouble(q6.getText()); double total=0; total=o+i+u; q7.setText(""+total); double neto=0; neto=w -total; q8.setText(""+neto);
  • 37. 37 10. La sgte aplicación de contexto gráfico: corresponde a la creación de una Paleta de Colores como la ilustrada en la figura siguiente;el panel de la izquierda toma el color que se obtenga de la combinación (Rojo, Verde, Azul), donde cada color aporta con un “peso” entre 0 y 255, seleccionado con deslizadores. Creando el proyecto a. En el IDE, escoger File > New Project como se muestra a continuación, b. Al seleccionar New Project se despliega la siguiente ventana, c. Seleccionar General > Java Aplication como se observa a continuación,
  • 38. 38 d. Teclear Next y se desplegará la siguiente ventana, e. En esta ventana teclear el nombre del proyecto (en el campo Project Name:) y la carpeta donde lo guardará (en el campo Project Location:). En esta aplicación el proyecto se denominó Ejemplo_2 el cual se albergará en la carpeta C:ejemplos_net_beans. Para esta aplicación NO estarán seleccionadas (en los checkbox) las opciones Set as Main Project y Create Main Class. El campo Create Main Class aparece desactivado. La razón de esto es que la aplicación será en un contexto gráfico (JFrame). Es decir, más adelante, se definirá una clase que se denominará PaletaColores.java que heredará de JFrame y la cual tendrá el método main, f. Teclear Finish. El proyecto ha sido creado y la pantalla tendrá el siguiente aspecto, g. En el menú principal escoger File > new File y se desplegará a siguiente ventana,
  • 39. 39 h. Escoger Java GUI Forms > JFrame Form y teclear Next. Se despliega la siguiente ventana, En el campo Class Name escribir PaletaColores y escoger Finísh. La pantalla adquiere el siguiente aspecto,
  • 40. 40 La ventana donde se despliega el código fuente está en modo Design (modo de diseño). Si se selecciona Source (modo Source) la ventana toma el siguiente aspecto, Construir la Interfaz Gráfica de la Aplicación a. Regresar en el IDE al modo Design. De aquí en adelante es donde realmente se logra dimensionar la potencialidad del IDE. En el panel de navegación seleccionar Inspector. Ese panel adopta el siguiente aspecto, A continuación se procederá a pegarle controles y paneles al JFrame. Para esto es necesario primero asignarle un administrador de diseño. Ubicar el cursor en la etiqueta [JFrame], hacer clic en el botón derecho del ratón y ubicarse en el item Set Layout. Se desplegará un popmenú.
  • 41. 41 En este ejemplo se escogerá como administrador de diseño el GridLayout: escogerlo. La ventana se mostrará de la siguiente forma, Este administrador de diseño (GridLayout) pegará los elementos en este JFrame en compartimientos de un arreglo matricial. En este ejemplo se pegará dos JPanel en un arreglo de una fila y dos columnas. Un JPanel se ubicará en el compartimiento (0, 0) y el otro en el (0, 1). Para ello es necesario cambiarle las propiedades a GridLayout. Ubique el cursor en la etiqueta GridLayout, haga clic en el botón derecho del ratón y se desplegará un popmenú. Escoger el item Properties. Se desplegará la siguiente ventana,
  • 42. 42 En Columns escribir 2 , en Rows 1 y cierre la ventana. Ya se procederá a pegar los dos JPanel. b. Ubicar el cursor en la etiqueta [JFrame] y hacer clic en el botón derecho del ratón. Se despliega un popmenú. Escoger Add From Palette > Swing > JPanel. Ya quedó pegado el primer JPanel. Repetir los mismos pasos para pegar el segundo JPanel. En este momento el panel Inspector debe tener la siguiente forma,
  • 43. 43 c. Para darle más legibilidad al código fuente es aconsejable cambiar los nombres de las variables por nombres fáciles de interpretar. Por ejemplo, la variable jPanel1 se cambiará por el nombre jpanel_pantalla_despliegue_colores, y la variable jPanel2 se cambiará por el nombre jpanel_controles. Para lograr esto se debe ubicar el cursor primero en la etiqueta jPanel1 y hacer clic en el botón derecho del ratón. Se despliega un popmenú. Escoger Change Vaiable Name …. Se despliega la siguiente ventana, En el campo escribir el nombre jpanel_pantalla_despliegue_colores y oprimir el botón ok. Repetir lo mismo para cambiar el nombre de la variable jPanel2. El aspecto de Inspector es ahora así, d. Ahora se agregarán tres JPanel al panel jpanel_controles. Escoger como administrador de diseño un GridLayout de 3 filas y una columna. Recordar ubicar el cursor en la etiqueta jpanel_controles y hacer clic en el botón derecho del ratón; en el popmenú desplegado escoger Set Layout > GridLayout. Ubicar ahora el cursor en la etiqueta GridLayout de jpanel_controles, hacer clic en el
  • 44. 44 botón derecho del ratón y en el popmenú desplegado escoger Properties: en la ventana que se despliega escribir 1 en Columns y 3 en Rows y cerrar esta ventana. El aspecto que debe tener el panel Inspector es el siguiente, Para agregarle el primer JPanel a jpanel_controles, ubicar el cursor sobre él (sobre su etiqueta), hacer clic en el botón derecho del ratón y en el popmenú que se despliega escoger, Add From Palette > Swing > JPanel. Ya quedó pegado este primer panel. Repetir estos mismos pasos para adicionar los otros dos JPanel. El apecto del panel Inspector es, Cambiar los nombres de las variables jPanel1, jPanel2, jPanel3 por jpanel_control_rojo, jpanel_control_verde,jpanel_control_azul. Para esto es necesario repetir los pasos que se siguieron para cambiar las variables jpanel_pantalla_despliegue_colores y jpanel_controles. En este momento el aspecto del panel Inspector es el siguiente,
  • 45. 45 e. A continuación se agregará a cada uno de los JPanel, jpanel_control_rojo, jpanel_control_verde y jpanel_control_azul, de a un JSlider (deslizador). Para esto a cada uno de ellos se le asigna un GridLayout de una fila y 1 columna (no olvide fijar las filas y las columnas en Properties de GridLayout) como administrador de diseño. El panel Inspector debe tener ahora el siguiente aspecto, Proceder a pegar los deslizadores: ubicare el cursor en la etiqueta jpanel_control_rojo; hacer clic en el botón derecho del ratón. En el popmenú desplegado escoger Add From Palette >Swing > JSlider. Repetir los mismos pasos para pegar los JSlider de los paneles jpanel_control_verde y jpanel_control_azul. El aspecto del panel Inspector ya es el siguiente, Proceda a cambiar los nombres de las variables jSlider1, jSlider2 y jSlider3 por jslider_control_rojo, jslider_control_verde y jslider_control_azul respectivamente. El aspecto de Inspector es ahora,
  • 46. 46 El aspecto del panel Design es, f. Aliñar un poco el diseño. En el panel diseño hacer clic sobre el panel izquierdo (jpanel_pantalla_despliegue_colores). Como se observa en la siguiente figura se despliegan las propiedades de este panel (observar lo que se indica con la flecha). Aquí se podrá cambiar las propiedades, en este caso del panel seleccionado. Hacer clic en border. Se despliega la siguiente pantalla.
  • 47. 47 En Title escribir “Despliegue de Colores” y presionar el botón ok. El diseño de la interfaz gráfica debe tener ya el siguiente aspecto, Repetir los mismos pasos para los paneles JPanel, jpanel_control_rojo, jpanel_control_verde y jpanel_control_azul, escribiendo “Rojo”, “Verde”y “Azul” respectivamente. El aspecto de la interfaz gráfica es ahora el siguiente.
  • 48. 48 g. Cambiar ahora las propiedades de los JSlider: ubicar el cursor en el primer JSlider y hacer clic (ver figura siguiente). Cambiar las siguientes propiedades: Major tick Spacing: 50 Maximum:255 Minor tuck Sapcing: 10 paint labels: seleccionarla paint ticks: seleccionarla Repetir el mismo procedimiento sobre los otros dos JSlider. La apariencia de la interfaz gráfica ya es la siguiente,
  • 49. 49 Adicionar los Eventos de los JSlider Hasta el momento sólo se tiene la interfaz gráfica de la aplicación. Para probar esto, compilar la aplicación: Bulid > Build Main Proyect. Proceder ahora a ejecutarla: Run > Run Main Project. El resultado es el siguiente, Sin embargo si se deslizan los controles, NADA PASA. Faltan los EVENTOS. Adicionar los eventos: a. Ubicar el cursor sobre el primer JSlider (ver figura) y hacer clic sobre el botón derecho del ratón. Se despliega un popmenú.
  • 50. 50 Escoger Events > Change > stateChanged. Inmediatamente el cursor queda sumergido en el código fuente (ver figura siguiente). En ese sitio es donde se debe agregar el código que se debe ejecutar cuando sucede el deslizamiento del jslider_control_rojo. Agregar el siguiente código después de la línea de comentario, // TODO add your handling code here, o sobre ella. jpanel_pantalla_despliegue_colores.setBackground(new Color(jslider_control_rojo.getValue(),jslider_control_verde.getValue(),jslider_control_azul.getValue())); Al compilar el programa se despliega un error. Esto se debe a que se debe importar el paquete java.aw t.* que trae las librerías del Color. Procer a agregar al principio del código de la clase paletaColores la siguiente instrucción, java.aw t.*; Compilar le programa y ejecutarlo. Observar que al desliza el jSlider del rojo, el panel izquierdo cambia de tonalidades de rojo. Repetir el procedimiento para los otros dos jslider agregando el mismo código,
  • 51. 51 jpanel_pantalla_despliegue_colores.setBackground(new Color(jslider_control_rojo.getValue(),jslider_control_verde.getValue(),jslider_control_azul.getValue())); Compile y ejecute. Acaba de elaborar una aplicación que reproduce los diferentes colores. Mejoramiento del programa Cuando el programa se ejecuta se observa que el panel que despliega el color no está inicializado en debida forma: no aparece con el color que debería tener para el estado inicial de los JSlider. Para corregir esto agregar el código que actualiza el color del panel dentro del método constructor de la aplicación y después de la línea de código, initComponents(), es decir, public PaletaColores() { initComponents(); jpanel_pantalla_despliegue_colores.setBackground(new Color(jslider_control_rojo.getValue(),jslider_control_verde.getValue(),jslider_control_azul.getValue())); } Listo: compilar y ejecutar. Distribuir la aplicación Dirigirse a la carpeta donde está almacenado el proyecto. Entrar a la subcarpeta dist El archivo .jar corresponde a la aplicación que se entregará al cliente. En este caso es PaletaColores.jar. Se puede copiar en otra carpeta o en un disco de almacenamiento. El cliente haciendo doble clic sobre ese archivo ejecutará la aplicación; obviamente debe poseer en su computador el runtime, es decir, el jre 1.6 de java.
  • 52. 52 Ejercicios Propuestos 1. Crear la siguiente ventana. Calcular el promedio y un mensaje de acuerdo a lo siguiente: JCreator Promedio = (Practica + Parcial +Final)/3 Netbeans Promedio = (2*Practica + Parcial + 3*Final)/6 VBNet. Promedio = (Practica + 3*Parcial +Final)/5 Eclipse Promedio = (Practica + 2*Parcial + 3*Final)/6; 2. Ingresar el radio de una esfera, y calcular el volumen de esta, y de otra esfera cuyo radio este aumentado en tres. 3. Ingresar 4 números por teclado y calcular su suma, su producto y la media aritmética.
  • 53. 53 4. Ingresar el radio de un círculo y calcular su perímetro cuando el radio se reduce en 50% y cuando se reduce en un 25%. 5. Una persona ha comprado un televisor y una refrigeradora . Por el televisor obtuvo un 15% de descuento y por la refrigeradora 11%. La persona desea saber cuanto habría que tenido que pagar si no hubiera recibido ningún descuento y a cuanto asciende el descuento total. Para tal efecto la persona solo cuenta con el monto pagado por el televisor y el monto pagado por la refrigeradora.
  • 54. 54 6. Calcular el promedio y condición de un alumno: Si el Curso = “Jcreator” entonces Promedio = (practica+parcial+final)/3 Si el Curso = “Pow er Builder” entonces Promedio = (practica + parcial*2 + final*3)/6 Si el Curso = “C sharp” entonces Promedio = (parcial+final)/2 7. Realizar la siguiente ventana y hacer los cálculos de acuerdo a los siguientes datos: Los precios estan en dolares. El cambio es 3.25 Procesador: Ram: Pentium IV 2.5 GHz 200 256 Mb 80 Pentium IV 3.0 GHz 250 512 Mb 100 Pentium IV 4.0 GHz 300 1.0 Gb 140 Disco Duro: Otros: 40 Gb 45 Multimedia 45 60 Gb 60 Impresora 110 80 Gb 70 Estabilizador 15 120 Gb 90
  • 55. 55 8. Realizar la siguiente ventana: Documentos : Boleta y Factura Tipo de Combustible Precio Gasolina 80 12 S/galon Gasolina 60 10 S/galon Diesel 2 8 S/galon Kerosene 5 S/galon 9. Realizar la sgte ventana:
  • 56. 56 10. Realizar la siguiente ventana: Los productos se ingresan aleatoriamente:
  • 57. 57 Capitulo 7 PROGRAMACION ORIENTADA A OBJETOS - ENCAPSULAMIENTO Clases Una clase es una plantilla que especifica los atributos y el comportamiento de un determinado tipo de objeto. Los atributos se especifican mediante variables (variables miembro) y el comportamiento mediante métodos (métodos miembro) Las clases son lo más simple de Java. Todo en Java forma parte de una clase, es una clase o describe como funciona una clase. El conocimiento de las clases es fundamental para poder entender los programas Java. DECLARACIÓN DE LA CLASE En el caso más general, la declaración de una clase puede contener los siguientes elementos: class NombreClase { //Declaracion de variables miembro tipo1 variable 1; tipo2 variable 2; . . //Definición del constructor NombreClase (parámetros) { } //Definición de metodos miembro tipo1 metodo1 (parámetros) { } tipo2 metodo2 (parámetros) { } . . } Ejemplo
  • 58. 58 class rectangulo{ //Declaracion de variables miembro double base; double altura; //Definición del constructor public rectangulo (double b,double h){ base =b; altura=h;} //Definición de metodos miembro public double area(){ return base*altura; } public double perimetro(double h){ double peri = 2*h + 2*b; return peri; } } DECLARACIÓN DE ATRIBUTOS En Java no hay variables globales; todas las variables se declaran dentro del cuerpo de la clase o dentro de un método. Las variables declaradas dentro de un método son locales al método; las variables declaradas en el cuerpo de la clase se dice que son miembros de la clase y son accesibles por todos los métodos de la clase. Finalmente, los atributos miembros de la clase pueden ser atributos de clase o atributos de instancia; se dice que son atributos de clase si se usa la palabra clave static: en ese caso la variable es única para todas las instancias (objetos) de la clase (ocupa un único lugar en memoria). Si no se usa static, el sistema crea un lugar nuevo para esa variable con cada instancia (o sea que es independiente para cada objeto). La declaración sigue siempre el mismo esquema: [private|protected|public] [static] [final] Tipo NombreVariable [= Valor]; Java tiene 4 tipos de acceso diferente a las variables o métodos de una clase: privado, protegido, público o por paquete (si no se especifica nada). De acuerdo a la forma en que se especifica un atributo, objetos de otras clases tienen distintas posibilidades de accederlos: Acceso desde: private Protected public (package) La propia clase S S S S subclase en el mismo paquete N S S S otras clases en el mismo paquete N S S S subclases en otros paquetes N X S N otras clases en otros paquetes N N S N S: puede acceder N: no puede acceder X: puede acceder al atributo en objetos que pertenezcan a la subclase, pero no en los que pertenecen a la clase madre. Es un caso especial ; más adelante veremos ejemplos de todo esto.  Static: Como ya se vio, static sirve para definir un atributo como de clase, o sea único para todos los objetos de la clase.  Final: En cuanto a final, como en las clases, determina que un atributo no pueda ser sobreescrito o redefinido. O sea: no se trata de una variable, sino de una constante. CONSTRUCTOR
  • 59. 59 Un constructor es un metodo especial que se utiliza para inicializar un objeto inmediatamente después de su creación. El constructor de una clase se caracteriza por tener el mismo nombre de su clase y no tener tipo de retorno. Ejemplo: public rectangulo (double b,double h){ base =b; altura=h; } DECLARACIÓN DE MÉTODOS Los métodos, como las clases, tienen una declaración y un cuerpo. La declaración es del tipo: [private|protected|public] [static] [abstract] [final] TipoDevuelto NombreMétodo ( [tipo1 nombre1[, tipo2 nombre2 ]…] ) [throws excepción1 [,excepción2]… ] { Sentencias; return var; } Básicamente, los métodos son como las funciones de C: implementan, a través de funciones, operaciones y estructuras de control, el cálculo de algún parámetro que es el que devuelven al objeto que los llama. Sólo pueden devolver un valor (del tipo TipoDevuelto), aunque pueden no devolver ninguno (en ese caso TipoDevuelto es void). Como ya veremos, el valor de retorno se especifica con la instrucción return, dentro del método. Los métodos pueden utilizar valores que les pasa el objeto que los llama (parámetros), indicados con tipo1 nombre1, tipo2 nombre2… en el esquema de la declaración. Public, private y protected actúan exactamente igual para los métodos que para los atributos, así que veamos el resto. Los métodos estáticos (static), son, como los atributos, métodos de clase; si el método no es static es un método de instancia. El significado es el mismo que para los atributos: un método static es compartido por todas las instancias de la clase. Ya hemos hablado de las clases abstractas; los métodos abstractos (abstract) son aquellos de los que se da la declaración pero no la implementación (o sea que consiste sólo del encabezamiento). Cualquier clase que contenga al menos un método abstracto (o cuya clase madre contenga al menos un método abstracto que no esté implementado en la hija) es una clase abstracta. Es final un método que no puede ser redefinido por ningún descendiente de la clase. Las clases native son aquellas que se implementan en otro lenguaje (por ejemplo C o C++) propio de la máquina. Sun aconseja utilizarlas bajo riesgo propio, ya que en realidad son ajenas al lenguaje. Finalmente, la cláusula throws sirve para indicar que la clase genera determinadas excepciones. Objetos Un objeto es una instancia o ejemplar de una clase. Cada vez que se crea un objeto , se crea una copia de las variables miembro declaradas por su clase. Estas variables propias de cada objeto se denominan variables de instancia CREACION DE OBJETOS
  • 60. 60 Se siguen los siguientes pasos: - Se declara una variable referencia. Para esto se usa el operador new. El operador new crea el objeto dinámicamente (en tiempo de ejecución) y devuelve la direccion de memoria del objeto creado. nombreClase nombreReferencia = new nombreClase (lista de argumentos) Para nuestro ejemplo : rectangulo rectangulito = new rectangulo (4, 6 ); rectangulo rectangulazo = new rectangulo (8, 12 ); El nombre de la clase seguido por los paréntesis invoca al constructor de la clase. El programa principal (main) se vería de esta manera : public class arearectangulo{ public static void main (String args[]){ rectangulo rectangulito = new rectangulo (4,6); rectangulo rectangulazo = new rectangulo (8,12); System.out.println("EL AREA RECTANGULITO:"+ rectangulito.area()); System.out.println("EL AREA RECTANGULAZO:"+ rectangulazo.area()); System.out.println("EL PERIMETRO RECTANGULITO:"+ rectangulito.perimetro(8)); System.out.println("EL PERIMETRO RECTANGULAZO:"+ rectangulazo.perimetro(12)); } } Ej - Realizar la sgte ventana. Aplicar los conceptos aprendidos de la POO. Vamos a crear dos clases: CalculoRectangulo. Clase principal. Contiene el Jframe de la aplicación rectangulo . Clase que contiene la definición de la clase rectangulo
  • 61. 61 CLASE rectangulo.java package Objeto1; public class rectangulo { //Declaracion de variables miembro double base; double altura; //Definición del constructor public rectangulo (double b,double h){ base =b; altura=h; } //Definición de metodos miembro public double area(){ return base*altura; } public double perimetro(double h){ double peri = 2*(h + base); return peri; } } CLASE CalculoRectangulo.java Evento MouseClicked – JButton Calcular double bb1 = Double.parseDouble(b1.getText()); double hh1 = Double.parseDouble(h1.getText()); rectangulo rectangulito = new rectangulo(bb1,hh1); //Constructor txtsalida.setText("El area del rectangulito es " + rectangulito.area() + "n"); txtsalida.append("El perimetro del rectangulito es " + rectangulito.perimetro(hh1) + "n"); double bb2 = Double.parseDouble(b2.getText()); double hh2 = Double.parseDouble(h2.getText()); rectangulo rectangulazo = new rectangulo(bb2,hh2); //Constructor txtsalida.append("El area del rectangulazo es " + rectangulazo.area() + "n"); txtsalida.append("El perimetro del rectangulazo es " + rectangulazo.perimetro(hh2)+ "n"); Ej - Realizar la siguiente ventana. Se trata de una aplicación que simule un cajero automático. Usar los conceptos de clases.
  • 62. 62 Se tendra las sgtes clases: CLASE cc.java package Objeto; public class cc { String numcta, nombre; double monto=0; cc(String nc, double m, String nn){ numcta = nc; monto = m; nombre = nn; } double deposito(double m) { return monto = monto + m; } double retiro(double m){ return monto = monto - m; } double saldo(){ return monto; } String obtenercta(){ return numcta; } String ponernombre(String name){ return nombre = name; } String obtenernombre(){ return nombre; } String modificarcta(String ncc){ return numcta = ncc; } } CLASE Cuenta.java Evento MouseClicked – JButton Aceptar
  • 63. 63 if (r1.isSelected()){ String valor = op.show InputDialog("Ingrese su Nombre"); txtsalida.setText(cta.ponernombre(valor));} if (r2.isSelected()){ String ncta = op.show InputDialog("Ingrese su Numero de Cuenta "); cta.modificarcta(ncta); txtsalida.setText(cta.obtenercta());} if (r3.isSelected()){ String ncta = op.show InputDialog("Ingrese monto a depositar"); cta.deposito(Double.parseDouble(ncta)); txtsalida.setText("Sr(a) " + cta.obtenernombre() + "su numero de cuenta es: " + cta.obtenercta()+ "n"); txtsalida.append("Usted tiene en su cuenta :" + String.valueOf(cta.saldo())); } if (r4.isSelected()){ String ncta = op.show InputDialog("Ingrese monto a retirar"); cta.retiro(Double.parseDouble(ncta)); txtsalida.setText("Sr(a) " + cta.obtenernombre() + " su numero de cuenta es: " + cta.obtenercta() + "n"); txtsalida.append("Usted tiene en su cuenta :" + String.valueOf(cta.saldo())); } Ejercicios Propuestos a) Definir una clase llamada grados, que tenga como propiedad a Celsius , escribir un método que convierta esta temperatura a grados Fahrenheit. F=(9/5)*Celsius*32 b) Escribir un programa que tenga una propiedad llamada polar, y un método llamado conversión que se encargue de convertir la coordenadas polares a rectangulares. c) Escribir un programa que tenga como propiedad a num(nunero entero positivo) y un método llamado divisor que muestre los divisores de ese numero. d) Escribir una clase que tenga como propiedades las longitudes de los 3 lados de un triangulo (a, b y c) y dos métodos uno que devuelva el área del triangulo y otro que devuelva el perímetro. e) area= p(p-a)(p-b)(p-c) donde p es el semiperimetro p=(a+b+c)/2 siendo a,b,c los lados de un triangulo. f) Diseñe un programa que tenga una clase llama Sueldo y 4 sueldos como propiedades (sueldo1, sueldo2,sueldo3, sueldo4) y los siguientes metodos: Promedio() Maximo () El sueldo maximo Minimo() El sueldo minimo Empleado() El numero de empleados que ganan un sueldo inferior a 1000 soles. g) Diseñe un programa, que tenga una clase llamada calificación cuyas propiedades son el nombre del curso, la nota practica, el parcial y el final. Para ayudar a los alumnos el profesor del curso ha prometido incrementar en dos puntos la nota de la practica si es que esta nota es mayor de 10. Diseñe un programa con el metodo calculo() que determine el promedio final del alumno conociendo sus tres notas (practica peso 1, parcial peso 2 y final peso 3). . Considere que la nota máxima es 20. Considere 2 objetos: Lenguaje e Ingles.