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
−𝑏 ± √𝑏 2 − 4𝑎𝑐
𝑥=
2𝑎
//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");
}
}
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);
}
}
2. En Java disponemos de los operadores lógicos habituales en lenguajes de programación como son “es
igual”, “es distinto”, menor, menor o igual, mayor, mayor o igual, and (y), or (o) y not (no). La sintaxis se
basa en símbolos como veremos a continuación y cabe destacar que hay que prestar atención a no
confundir == con = porque implican distintas cosas.
OPERADOR DESCRIPCIÓN
== Es igual
!= Es distinto
<, <=, >, >= Menor, menor o igual, mayor, mayor o igual
|| Operador or (o)
3. El operador || se obtiene en la mayoría de los teclados pulsando ALT GR + 1, es decir, la tecla ALT GR y el
número 1 simultáneamente.
4. Los operadores && y || se llaman operadores en cortocircuito porque si no se cumple la condición de un
término no se evalúa el resto de la operación. Por ejemplo: (a == b && c != d && h >= k) tiene tres
evaluaciones: la primera comprueba si la variable a es igual a b. Si no se cumple esta condición, el
resultado de la expresión es falso y no se evalúan las otras dos condiciones posteriores.
5. En un caso como ( a < b || c != d || h <= k) se evalúa si a es menor que b. Si se cumple esta condición el
resultado de la expresión es verdadero y no se evalúan las otras dos condiciones posteriores.
6. Ejercicio 2.Tomar un número en 0 y 99999 y decir cuantas cifras tiene:
//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");
}
}
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
switch (operacion) {
case 's':
case 'S':
suma = numero1 + numero2;
JOptionPane.showMessageDialog(null, numero1 + " + " + numero2 + " = " + suma);
break;
case 'r':
case 'R':
resta = numero1 - numero2;
JOptionPane.showMessageDialog(null, numero1 + " - " + numero2 + " = " + resta);
break;
case 'm':
case 'M':
mult = numero1 * numero2;
JOptionPane.showMessageDialog(null, numero1 + " * " + numero2 + " = " + mult);
break;
case 'd':
case 'D':
division = numero1 / numero2;
JOptionPane.showMessageDialog(null, numero1 + " / " + numero2 + " = " + division);
break;
default:
JOptionPane.showMessageDialog(null, "Letra de operación Incorrecta " + operacion);
}
}
2. Pedir una nota de 0 a 10 y mostrarla de la forma: Insuficiente, Deficiente, Bien, Notable y Sobresaliente.
double numero;
numero = Double.parseDouble(JOptionPane.showInputDialog("Digite NUMERO NOTA"));
//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.
//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.
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.
2. Leer un número e indicar si es positivo o negativo. El proceso se repetirá hasta que se introduzca un
cero.
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.
2. Pedir números hasta que se teclee un 0, mostrar la suma de todos los números introducidos:
3. Ejemplos:
int [] edad = new int[4]; //matriz unidimensional de datos enteros de 4 posiciones
4. El ingreso de datos se puede hacer a un campo de la matriz simplemente definiendo cual campo va a ser
llenado:
edad[2] = 12;
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]);
}
Video 47 – Arreglos – Ejercicio – Arreglo en forma creciente o decreciente
1. Leer por teclado una serie de 10 números enteros. La aplicación debe indicarnos si los números están
ordenados de forma creciente, decreciente o están desordenados.
//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("");
}
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);
}
2. Construir un programa que permita dirigir el movimiento de un objeto dentro de un tablero y actualice su
posición dentro del mismo. Los movimientos posibles son ARRIBA, ABAJO, IZQUIERDA y DERECHA. Tras
cada movimiento el programa mostrará la nueva dirección elegida y las coordenadas de situación dentro
del tablero.
//Mostrar Resultados
lugar.MostrarResultados();
}
}
}
}