Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programacion en Java
Programacion en Java
Video 7 – Constantes
1. El comportamiento de las constantes es igual a cualquier lenguaje. En java se escribe la
palabra final antes de la definición, así:
final short numero = 22;
//Salida de datos
JOptionPane.showMessageDialog(null, "La Cadena es: " + cadena);
JOptionPane.showMessageDialog(null, "El Entero es: " + entero);
JOptionPane.showMessageDialog(null, "La Letra es: " + letra);
JOptionPane.showMessageDialog(null, "El Decim. es: " + decimal);
2. Se puede utilizar para cualquier combinación de operadores, es decir, +=, -=, *=, /=, %=
2. La clase Math tiene infinidad de funciones, entre ellas el redondeo y el número aleatorio:
package ejercicio_3;
import java.util.Scanner;
import javax.swing.JOptionPane;
2. Hacer un ejercicio para establecer el resultado del cuadrado de una suma que se describe
a continuación: (a+b)^2 = a^2 + 2ab + b^2
//Ingresa datos
a = Double.parseDouble(JOptionPane.showInputDialog("Digite el Valor de A"));
b = Double.parseDouble(JOptionPane.showInputDialog("Digite el Valor de A"));
//Calculo de resultados
resultado1 = (Math.pow((a + b), 2));
resultado2 = Math.pow(a, 2) + (2 * a * b) + Math.pow(b,2);
//Salida de resultados
JOptionPane.showMessageDialog(null,"Valor de A " + a + "\n" + "Valor de B " + b
+ "\n \n" + "CALCULO 1 " + resultado1 + "\n" + "CALCULO 2 " + resultado2);
}
}
2. Construir un programa que calcule y muestre por pantalla las raíces de la ecuación de
segundo grado de coeficientes reales ax² + bx + c = 0
−b ± √ b2−4 ac
x=
2a
//Salida de resultados
JOptionPane.showMessageDialog(null, "Valor A: " + a + "\n" + "Valor B: " + b + "\n" + "Valor C:
" + c + "\n"
+ "En la Fórmula x = (-b±√(b^2-4ac))/2a " + "\n" + "Como resultado \n" + "X1 = " + x1 + "\n" +
"X2 = " + x2 + "\n");
}
}
Video 18 – Condicionales: La sentencia IF – THEN - ELSE
1. Tiene el comportamiento de cualquier lenguaje, y es igual al lenguaje C++. La forma
estándar de la condición IF es:
if (condición) {
Instrucción1;
}
else {
Instrucción2;
}
2. Los operadores de comparación con los que se puede manejar la condición If son:
== - Igualdad
!= - Diferencia
>= - Mayor o Igual Que
> - Mayor Que
<= - Menor o Igual Que
< - Menor o Igual Que
switch (dato) {
case 1:
Instrucción1;
break;
case 1:
Instrucción1;
break;
.
.
case N:
InstrucciónN;
break;
default:
CasoContrario;
break;
}
//Hace el cálculo
if (entero%10 == 0){
JOptionPane.showMessageDialog(null, "El Número " + entero + " es Múltiplo de 10");
}
else{
JOptionPane.showMessageDialog(null, "El Número " + entero + " no es Múltiplo de 10");
}
int a,b;
a = Integer.parseInt(JOptionPane.showInputDialog("Digite el Número Entero A: "));
b = Integer.parseInt(JOptionPane.showInputDialog("Digite el Número Entero B: "));
if ( a > b){
JOptionPane.showMessageDialog(null, "El Número A " + a + " es Mayor que B " + b);
}
else{
if (a < b){
JOptionPane.showMessageDialog(null, "El Número B " + b + " es Mayor que A " + a);
}
else{
JOptionPane.showMessageDialog(null, "El Número A " + a + " es Igual a B " + b);
}
}
//Verifica si es mayúscula o no
if (Character.isUpperCase(letra)) {
JOptionPane.showMessageDialog(null, "La letra " + letra + " es mayúscula");
}
else {
JOptionPane.showMessageDialog(null, "La letra " + letra + " es minúscula");
}
}
2. En MegaPlaza se hace un 20% de descuento a los clientes cuya compra supere los
$30.000.. Cuál es la cantidad que pagará una persona por su compra.
//Salida de Resultados
if (descuento == 0){
JOptionPane.showMessageDialog(null, "Pago $ " + valpago + " Sin Descuento");
}
else {
JOptionPane.showMessageDialog(null, "Pago $ " + valpago + " Con Descuento 20%");
}
}
//Salida de Datos
JOptionPane.showMessageDialog(null, "Horas Totales " + total + "\n"
+ "Salario $/hora 16" + "\n" + "TOTAL PAGO $ " + salario);
}
else {
horas = 40;
extra = total - horas;
salario = (horas * 16 ) + (extra * 20);
//Salida de Datos
JOptionPane.showMessageDialog(null, "Horas Totales " + total + "\n"
+ "Hora Normales " + horas + " Salario $/hora 16" + "\n"
+ "Hora Extras " + extra + " Salario $/hora 20" + "\n"
+ "Total Normal $ " + (horas * 16) + "\n"
+ "Total Extras $ " + (extra * 20) + "\n"
+ "TOTAL PAGO $ " + salario);
}
}
2. Hacer un programa que tome dos números e indique si ambos son pares.
int a, b, c, d;
a = Integer.parseInt(JOptionPane.showInputDialog("Digite Nº1"));
b = Integer.parseInt(JOptionPane.showInputDialog("Digite Nº2"));
//Cálculos
c = a%2;
d = b%2;
if (c == 0){
if (d == 0){
JOptionPane.showMessageDialog(null, "Ambos números son Pares");
}
else {
JOptionPane.showMessageDialog(null, a + " No es Par");
}
}
else {
JOptionPane.showMessageDialog(null, b + " No es Par");
}
//Cálculo y salida
if ((n1 > n2) && (n2 > n3)){
JOptionPane.showMessageDialog(null, "Orden " + n1 + " " + n2 + " " + n3);
}
else if ((n1 > n3) && (n3 > n2)) {
JOptionPane.showMessageDialog(null, "Orden " + n1 + " " + n3 + " " + n2);
}
else if ((n2 > n1) && (n1 > n3)) {
JOptionPane.showMessageDialog(null, "Orden " + n2 + " " + n1 + " " + n3);
}
else if ((n2 > n3) && (n3 > n1)) {
JOptionPane.showMessageDialog(null, "Orden " + n2 + " " + n3 + " " + n1);
}
else if ((n3 > n1) && (n1 > n2)) {
JOptionPane.showMessageDialog(null, "Orden " + n3 + " " + n1 + " " + n2);
}
else{
JOptionPane.showMessageDialog(null, "Orden " + n3 + " " + n2 + " " + n1);
}
}
OPERADOR DESCRIPCIÓN
== Es igual
!= Es distinto
<, <=, >, >= Menor, menor o igual, mayor, mayor o igual
|| Operador or (o)
//Cálculo y salida
if ((numero/10)== 0){
JOptionPane.showMessageDialog(null, "El número " + numero + " Tiene 1 cifra" );
}
else if ((numero/100) == 0){
JOptionPane.showMessageDialog(null, "El número " + numero + " Tiene 2 cifras" );
}
else if ((numero/1000) == 0){
JOptionPane.showMessageDialog(null, "El número " + numero + " Tiene 3 cifras" );
}
else if ((numero/10000) == 0){
JOptionPane.showMessageDialog(null, "El número " + numero + " Tiene 4 cifras" );
}
else if ((numero/100000) == 0){
JOptionPane.showMessageDialog(null, "El número " + numero + " Tiene 5 cifras" );
}
//Cálculo
if ((dia>=1) && (dia <=30)){
if ((mes>=1) && (mes<=12)){
if (año >0){
JOptionPane.showMessageDialog(null, "Fecha Correcta");
}
else{
JOptionPane.showMessageDialog(null, "Fecha Incorrecta, AÑO Incorrecto");
}
}
else{
JOptionPane.showMessageDialog(null, "Fecha Incorrecta, MES Incorrecto");
}
}
else{
JOptionPane.showMessageDialog(null, "Fecha Incorrecta, DIA Incorrecto");
}
}
2. El mismo ejercicio anterior, pero utilizando meses de 28, 30 y 31 días
if (año <= 0) {
JOptionPane.showMessageDialog(null, "Fecha Incorrecta, AÑO Incorrecto");
} else {
switch (mes) {
case 1:
if ((dia >= 1) && (dia <= 31)) {
JOptionPane.showMessageDialog(null, "Fecha Correcta");
} else {
JOptionPane.showMessageDialog(null, "Fecha Incorrecta, DIA Incorrecto");
}
break;
case 2:
if ((dia >= 1) && (dia <= 28)) {
JOptionPane.showMessageDialog(null, "Fecha Correcta");
} else {
JOptionPane.showMessageDialog(null, "Fecha Incorrecta, DIA Incorrecto");
}
break;
..
.
.
case 12:
if ((dia >= 1) && (dia <= 31)) {
JOptionPane.showMessageDialog(null, "Fecha Correcta");
} else {
JOptionPane.showMessageDialog(null, "Fecha Incorrecta, DIA Incorrecto");
}
break;
default:
JOptionPane.showMessageDialog(null, "Fecha Incorrecta, MES Incorrecto");
break;
}
//Cálculo y Salida
if ((numero <0) || (numero > 10)){
JOptionPane.showMessageDialog(null, "NOTA NO VÁLIDA");
}
else{
if ((numero >= 0) && (numero <= 3)){
JOptionPane.showMessageDialog(null, "Nota: INSUFICIENTE");
}
else {
if ((numero > 3) && (numero <= 5)){
JOptionPane.showMessageDialog(null, "Nota: DEFICIENTE");
}
else{
if ((numero > 5) && (numero <= 7)){
JOptionPane.showMessageDialog(null, "Nota: BIEN");
}
else{
if ((numero > 7) && (numero <= 9)){
JOptionPane.showMessageDialog(null, "Nota: NOTABLE");
}
else{
JOptionPane.showMessageDialog(null, "Nota: SOBRESALIENTEE");
}
}
}
}
Video 26 – Condicionales – Ejercicio – Cajero Automático con Menú
1. Hacer un programa que simule un cajero automático con un saldo inicial de 1.000, con el
siguiente menú de opciones: 1-Ingresar Dinero a la Cuenta, 2-Retirar Dinero de la Cuenta,
3-Salir.
//Cálculo y Salida
switch (opcion) {
case 1:
deposito = Integer.parseInt(JOptionPane.showInputDialog("Digite Valor Depósito"));
saldofinal = saldoInicial + deposito;
JOptionPane.showMessageDialog(null, "SALDO INICIAL $ " + saldoInicial + "\n"
+ "DEPOSITO $ " + deposito + "\n"
+ "SALDO FINAL $ " + saldofinal);
break;
case 2:
retiro = Integer.parseInt(JOptionPane.showInputDialog("Digite Valor Retiro"));
if (retiro > saldoInicial){
JOptionPane.showMessageDialog(null, "ERROR!! RETIRO MAYOR A SALDO INICIAL ");
}
else{
saldofinal = saldoInicial - retiro;
2. Hacer un programa que pase de Kg a otra unidad de medida de masa, mostrar en pantalla
un menú con la opciones posibles.
double peso, conversion;
final double libra = 2.202;
final double gramo = 1000, onza = 31.25;
int opcion;
opcion = Integer.parseInt(JOptionPane.showInputDialog("MENU CONVERTIR PESO \n"
+ "1. Convertir a Libras \n"
+ "2. Convertir a Gramos \n"
+ "3. Convertir a Onzas \n"
+ "4. Salir"));
//Cálculo y Salida
peso = Double.parseDouble(JOptionPane.showInputDialog("Digite el Peso en Kg"));
if (peso <= 0) {
JOptionPane.showMessageDialog(null, "Debe Seleccionar Peso en Kg Válido");
}
else {
switch (opcion) {
case 1:
conversion = peso * libra;
JOptionPane.showMessageDialog(null, "Peso " + peso + " Kg = " + conversion + " lb");
break;
case 2:
conversion = peso * gramo;
JOptionPane.showMessageDialog(null, "Peso " + peso + " Kg = " + conversion + " gr");
break;
case 3:
conversion = peso * onza;
JOptionPane.showMessageDialog(null, "Peso " + peso + " Kg = " + conversion + " oz");
break;
case 4:
JOptionPane.showMessageDialog(null, "PROCESO TERMINADO ");
break;
default:
JOptionPane.showMessageDialog(null, "ERROR!! OPCION DE MENU INVALIDA ");
break;
}
2. El ciclo WHILE no se repite ni una sola vez si la condición no se cumple, a diferencia del do
While.
Video 28 – Ciclos – Ciclo DO WHILE
1. Se repiten las instrucciones hasta que se cumpla la condición. El modo estándar es:
do {
Instrucciones;
} while (condición) ;
2. El ciclo DO WHILE se repite al menos una sola vez si la condición no se cumple, a diferencia
del While.
int numero;
do {
numero = Integer.parseInt(JOptionPane.showInputDialog("Digite un número"));
if ((numero % 2) == 0) {
JOptionPane.showMessageDialog(null, "El Número " + numero + " es PAR");
} else {
JOptionPane.showMessageDialog(null, "El Número " + numero + " es IMPAR");
}
} while (numero != 0);
numero = Integer.parseInt(JOptionPane.showInputDialog("Digite un número"));
2. Pedir números hasta que se teclee uno negativo y mostrar cuantos números se han
introducido.
3. Ejemplos:
int [] edad = new int[4]; //matriz unidimensional de datos enteros de 4 posiciones
6. El índice de la matriz va desde 0 hasta n-1, entonces si se quiere una matriz de 3 campos,
el primero será [0], el segundo [1] y el tercero [2].
2. La sintaxis es:
3. El tipo_matriz es simplemente, usar el mismo tipo con el cual fue declarada la matriz;
elemento es donde se coloca el contenido de cada uno de los campos de la matriz; y
nombre_matriz es el nombre utilizado al definir la matriz.
//Salida de C
System.out.println("Resultado Matriz C");
for (int i = 0; i < 20; i++) {
System.out.println(c[i]);
}
2. Leer por teclado dos tablas de 12 números enteros y mezclarlas en una tercera con el
orden de primeros 3 de A, 3 de B, ….3 de A, 3 de B
int[] a;
int[] b;
int[] c;
a = new int[12];
b = new int[12];
c = new int[24];
//Salida de C
System.out.println("Resultado Matriz C");
for (int i = 0; i < 24; i++) {
System.out.println(c[i]);
}
//Método Burbuja
for (int i = 0; i < (nElementos - 1); i++) {
for (int j = 0; j < (nElementos - 1); j++) {
if (arreglo[j] > arreglo[j + 1]) {
aux = arreglo[j];
arreglo[j] = arreglo[j + 1];
arreglo[j + 1] = aux;
}
}
}
//SAlida del arreglo en forma creciente
System.out.println("Arreglo Ordenado forma Creciente");
for (int i = 0; i < nElementos; i++) {
System.out.println(arreglo[i]);
}
2. La sintaxis es:
int matriz[][] = {{a1,...,an},{b1,…,bn},{c1…,cn}}; //Método directo
1 2 3 1 2 3
2 5 6 2 5 6
3 6 7 3 6 7
A AT
Es simétrica
Scanner entrada = new Scanner(System.in);
int matriz[][], nFilas, nCol;
boolean simetrica = true;
//Entrada de datos de la matriz
System.out.print("\nDigite Nº Filas: ");
nFilas = entrada.nextInt();
System.out.print("Digite Nº Columnas: ");
nCol = entrada.nextInt();
matriz = new int[nFilas][nCol];
if (nFilas == nCol) {
int i, j;
i = 0;
while (i < nFilas && simetrica == true) {
j = 0;
while (j < i && simetrica == true) {
if (matriz[i][j] != matriz[j][i]) {
simetrica = false;
}
j++;
}
i++;
}
if (simetrica == true){
System.out.println("La Matriz es simétrica");
}
else {
System.out.println("La Matriz no es simétrica");
}
} else {
System.out.println("La Matriz no es simétrica");
}
//Cálculo de la suma
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
suma[i][j] = A[i][j] + B[i][j];
}
}
1 2 3 1 4 7
4 5 6 2 5 8
7 8 9 3 6 9
A AT
//Cálculo de la transpuesta
int aux;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
aux = A[i][j];
AT[i][j] = A[j][i];
A[j][i] = aux;
}
}
//Salida de la Transpuesta
System.out.println("Matriz A Transpuesta: ");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.print(AT[i][j] + " ");
}
System.out.println("");
}
2. Crear una matriz de 7x7 y rellenarla de tal manera que todas las posiciones diagonales
sean 1 y el resto sean 0.
int matriz[][];
matriz = new int[7][7];
System.out.println("Salida de la matriz");
for (int i = 0; i < 7; i++) {
for (int j = 0; j < 7; j++) {
if (i==j){
matriz[i][j] = 1;
}
else{
matriz[i][j] = 0;
}
System.out.print(matriz[i][j] + " ");
}
System.out.println("");
}
Video 60 – Concepto de Programación Orientada a Objetos (POO)
1. En la POO la intención es llevar el rol del programa a como se efectuarían los movimientos
para llegar a los resultado (mover objeto, borrar, etc.)
2. Todos los objetos tienen atributos o características (un carro tiene color, marca, kms, etc.),
que se llaman propiedades.
3. Además el objeto tiene métodos (encender, apagar, etc.)
4. Las Clases son conjuntos de objetos que poseen características similares.
5. En términos generales, las clases van a permitir crear objetos nuevos con las
características definidas dentro de la misma clase.
2. Sintaxis:
4. Ejemplo:
//Atributos
String nombre;
int edad;
//METODOS
//Método Constructor
public Persona(String nombre, int edad ){
this.nombre = nombre;
this.edad = edad;
}
//Método de Salida
public void MostrarDatos(){
System.out.println("El nombre es: " + nombre);
System.out.println("La edad es: " + edad);
}
//METODOS
//Método Constructor
public Persona(String nombre, int edad ){
this.nombre = nombre;
this.edad = edad;
}
public Persona(String cedula){
this.cedula = cedula;
}
3. Para utilizar el IDE en la creación de constructores, se hace click derecho sobre espacio
libre de código, luego, se selecciona “Insert Code” “Constructor. Se seleccionan los
campos que se incluirán en el constructor, y el sistema crea el código del constructor.
4. La sobrecarga de constructores también se puede aplicar a los métodos creados por el
usuario. Se aplican las mismas técnicas con las variables de entrada como sucede con los
Constructores.
package paquete1;
public class Clase2 {
public static void main(String[] args) {
Clase1 objeto1 = new Clase1();
objeto1.setEdad(10);
System.out.println("La edad es : " + objeto1.getEdad());
}
}
package paquete1;
public class Clase1 {
//Encapsulamiento
private int edad;
}
Video 69 – (POO) Métodos - Constantes
1. Para definir dentro de un método constructor una constante, se hace después del atributo
de acceso colocando la palabra final:
//Métodos
//Método Cuadrilátero
public Cuadrilatero(float lado1, float lado2) {
this.lado1 = lado1;
this.lado2 = lado2;
}
//Método Cuadrado
public Cuadrilatero(float lado1) {
this.lado1 = this.lado2 = lado1;
}
if (lado1 == lado2){
c1 = new Cuadrilatero(lado1);
}else {
c1 = new Cuadrilatero(lado1, lado2);
}
//Mostrar Resultados
lugar.MostrarResultados();
}
}