Sei sulla pagina 1di 45

PROGRAMACION EN JAVA

Video 2 – Introducción e Instalación


1. Se requiere instalar el JDK de Java o sea, el RunTime para que permita la utilización de Java y de
NetBeans
2. Posterior a la instalación de Java SE JDK se instala el NetBeans.

Video 3 – Hola Mundo en Java


1. Entrar a NetBeans
2. Seleccionar Archivo – Nuevo Proyecto
3. Seleccionar Java – Java Application
4. Se abre la ventana del Proyecto con la función MAIN que contiene al igual que el Visual C los códigos del
programa
5. Para la salida en consola de pantalla (tener en cuenta mayúsculas y minúsculas):

System.out.print(“Texto”)  Imprime en la posición actual del cursor


System.out.println(“Texto”)  Imprime al comienzo de la línea
6. Para Ejecutar oprimir PLAY

Video 4 – Comentarios en Java


// antes de iniciar los comentarios
1. Para hacer los comentarios de una sola línea se utiliza
2. Para comentarios de más líneas se coloca al inicio /* y el sistema coloca el */ que es el final del
comentario. Lo que se encuentre entre ellos es el comentario

Video 5 – Tipos de Datos Primitivos


1. Las variables se definen mediante dos formas: la primera de ellas es definir primero la variables, y luego,
determinar su valor. La segunda, se define todo en una línea:

METODO 1  long totales;


totales = 1000;

METODO 2  long totales = 1000;

2. Las variables de tipo entero se pueden clasificar en:


Nombre Tamaño Rango
long 64 -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807
int 32 -2.147.483.648 a-2.147.483.647
short 16 -32.768 a 32.767
byte 8 -128 a 127

3. Cuando se desea imprimir la variable con un título:

System.out.println(“Valor Total $ ” + totales)


4. Las variables de punto flotante son:
Nombre Tamaño Rango Terminación definición
double 64 -4.9 e-324 a 1.8 e +308 f  float xr = 3.45f;
float 32 1.4 e-45 a 3.4e38 Sin terminación en def.

5. Las variables de caracteres y booleanos son:


Nombre Tamaño Rango Terminación definición
char 8 1 solo caracter char x = ‘x’;
boolean 1 infinito boolean x = false;

Video 6 – Tipos de Datos No Primitivos y Cadenas


1. Son todos aquellos tipos de datos que permiten almacenar el null y que además poseen métodos,
colocando la variable seguida de punto (.)
2. Las variables de tipo No Primitivo son:
Nombre Tamaño Rango Terminación definición
String Infinito String x = “Rodolfo”;
Integer 32 -2.147.483.648 a-2.147.483.647 Integer x = 1234;
Float 32 1.4 e-45 a 3.4e38 F  Float qa = 15.23F;
Long 64 -9.223.372.036.854.775.808 a L  Long = 455656L;
9.223.372.036.854.775.807
Double 64 -4.9 e-324 a 1.8 e +308
Character 8 1 Entre comilla simple
Boolean 1 False o True

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;

Video 8 – Entrada y salida de datos por consola


1. Para hacer la entrada de datos, se utiliza la palabra clave Scanner la cual antecede la oración así:
Scanner entrada = new Scanner(System.in);

2. El valor que se ha tomado en la entrada, se debe trasladar a una variable, así:


float numero;
Scanner entrada = new Scanner(System.in);
System.out.print(“Digite un número: “);
numero = entrada.nextFloat(); //Buscar el adecuado
System.out.println(“El número es: “ + numero);

3. Para leer cadenas de caracteres, existen dos formas:


cadena = entrada.next() //Coge todo el texto hasta encontrar un espacio o fin
cadena= entrada.nextLine() //Coge todo el texto

4. Para leer un solor carácter de tipo char:


cadena = entrada.next().charAt(0);

Video 9 – Entrada y salida de datos con JOptionPane


1. El JOptionPane sirve para administrar recuadros para entrada y salida de información similares al InputBox
o MsgBox. Ahora se incluye un ejemplo de Entrada por un recuadro de Input y salida a través de un
Message Box:
//Se definen las variables
String cadena;
int entero;
char letra;
double decimal;

//Captura los Datos


cadena = JOptionPane.showInputDialog("Digite una cadena:");
entero = Integer.parseInt(JOptionPane.showInputDialog("Digite un entero:"));
letra = JOptionPane.showInputDialog("Digite un caracter: ").charAt(0);
decimal = Double.parseDouble(JOptionPane.showInputDialog("Digite un Decimal:"));

//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);

Video 10 – Operadores Aritméticos


1. El comportamiento de los operadores aritméticos es igual a cualquier lenguaje C++. Como ejemplo:
Scanner entrada = new Scanner(System.in);
float numero1, numero2;
float suma,resta,mult,div,resto;
System.out.print("Digite dos números:");
numero1 = entrada.nextFloat();
numero2 = entrada.nextFloat();

suma = numero1 + numero2;


resta = numero1 - numero2;
mult = numero1 * numero2;
div = numero1 / numero2;
resto = numero1 % numero2;

Video 11 – Operadores Aritméticos combinados con Asignación


1. El comportamiento de las constantes es igual a cualquier lenguaje. Ahora cuando se quiere asignar un
valor suma a una variable, existen dos maneras de escribirlo, así:
int numero = 22;
numero = numero + 8; ó
numero += 8;

2. Se puede utilizar para cualquier combinación de operadores, es decir, +=, -=, *=, /=, %=

Video 12 – Operadores de Incremento y Decremento


1. Estos operadores permiten incrementar o dismunir de a uno. Ahora cuando se quiere asignar un valor
suma a una variable, existen dos maneras de escribirlo, así:
numero = numero + 1; ó
numero ++;

2. Se puede utilizar para cualquier combinación de operadores, es decir, +=, -=


3. Si se utiliza el incremento o decremento en una asignación hay que tener en cuenta:
int x = 5, y;
y = x++; //el valor de y es 5 y x=6, primero asigna a y la x y luego incrementa x
y = ++x; //el valor de y es 6 y x=6, primero incrementa x y luego asigna y

Video 13 – Operadores de la clase Math


1. Las funciones de la clase Math son de tipo trigonométrico, por lo tanto su asignación debe ser en una
variable double, pues su resultado lo será igual, así:
double numero = Math.sqrt(9); //raíz cuadrada
double base = 5, exponente = 2;
double resultado = Math.pow(base, exponente); // base elevado al exponente

2. La clase Math tiene infinidad de funciones, entre ellas el redondeo y el número aleatorio:

long numero = Math.round(numero); //redondea al siguiente entero > numero


double numero = Math.random(); //numero aleatorio entre 0 y 1

Video 14 – Ejercicio de Suma de tres Calificaciones


1. El ejercicio suma tres calificaciones, las cuales luego en sa salida se promedian dividiedo el valor entre 3,
así:

Scanner entrada = new Scanner(System.in);


double nota1, nota2, nota3, suma;
double horas, valhora, salsemana;
System.out.print("Digite tres Notas: ");
nota1 = entrada.nextDouble();
nota2 = entrada.nextDouble();
nota3 = entrada.nextDouble();
suma = nota1 + nota2 + nota3;
System.out.println("El promedio de las tres notas es: " + (suma / 3));

Video 15 – Averiguar la Cantidad de Dinero


1. El ejercicio: Guillermo tiene N dólares. Luis tiene la mitad de lo que posee Guillermo. Juan posee la
mitad de lo que poseen Luis y Guillermo juntos. Hacer un programa que calcule e imprima la cantidad de
dinero entre los tres. así:

package ejercicio_3;
import java.util.Scanner;
import javax.swing.JOptionPane;

public class Ejercicio_3 {

public static void main(String[] args) {


Scanner entrada = new Scanner(System.in);
double guillermo, juan, luis, suma;
guillermo = Double.parseDouble(JOptionPane.showInputDialog("Cant. Dinero de GUILLERMO: "));
luis = guillermo / 2;
juan = (guillermo + luis) / 2;
suma = guillermo + luis + juan;
JOptionPane.showMessageDialog(null, "Guillermo: " + guillermo + "\n" + "Luis: " + luis + "\n" +
"Juan: " + juan);
JOptionPane.showMessageDialog(null, "\nTODOS SUMAN $ " + suma);
}
}

Video 16 – Calcular la Nota Promedio


1. La calificación final de un Estudiante de Informática se calcula con base a las calificaciones de cuatro
aspectos de su rendimiento académico: participación, primer examen parcial, segundo examen parcial y
examen final. Sabiendo que las calificaciones anteriores entran a la calificación final con ponderaciones
de 10%, 25%, 25% y 40%, respectivamente. Calcular e imprimir la calificación Final del Estudiante

public class Ejercicio_4 {


public static void main(String[] args) {
// Define las constantes
final int porcparticipacion = 10, porcprimer = 25;
final int porcsegundo = 25, porcfinal = 40;

//Define las variables


double nota1, nota2, nota3, nota4, notafin;
double parte1, parte2, parte3, parte4;
nota1 = Double.parseDouble(JOptionPane.showInputDialog("Nota PARTICIPACION 10%"));
nota2 = Double.parseDouble(JOptionPane.showInputDialog("Nota PRIMER PARCIAL 25%"));
nota3 = Double.parseDouble(JOptionPane.showInputDialog("Nota SEGUNDO PARCIAL 25%"));
nota4 = Double.parseDouble(JOptionPane.showInputDialog("Nota EXAMEN FINAL 40%"));
//Calcula los valores ponderados
parte1 = nota1 * porcparticipacion / 100;
parte2 = nota2 * porcprimer / 100;
parte3 = nota3 * porcsegundo / 100;
parte4 = nota4 * porcfinal / 100;
notafin = parte1 + parte2 + parte3 + parte4;

//Salida de los cálculos


JOptionPane.showMessageDialog(null,"PARTICIPACION 10% " + nota1 + "\n" + "PRIMER PARCIAL 25% " + nota2
+ "\n" + "SEGUNDO PARCIAL 25% " + nota3 + "\n" + "EXAMEN FINAL 40% " + nota4);
JOptionPane.showMessageDialog(null, "NOTA FINAL " + notafin);
}
}

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

public class Ejercicio_6 {


public static void main(String[] args) {
//DEfine variables
double a, b, resultado1, resultado2;

//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);
}
}

Video 17 – Ejercicio – Calcular Semanas, Días, Horas


1. Construir un programa que, dado el número total de horas, devuelve el número de semanas, días y horas
equivalentes. Por ejemplo, dado un total de 1000 horas, debe mostrar como resultado 5 semanas, 6 días
y 16 horas.

public class Ejemplo_7 {


public static void main(String[] args) {
//Declara las variables
int horast, horas, dias, semanas, diast;
double semanas1, semanas2;

//Hace el ingreso de datos


horast = Integer.parseInt(JOptionPane.showInputDialog("Digite el Total de Horas:"));
//Calcula horas, dias y semanas
horas = horast % 24;
diast = horast / 24;
semanas = diast / 7;
dias = diast % 7;
System.out.println("semanas: " + semanas + " días: " + dias + " Horas: " + horas);
}

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𝑎

public class Ejemplo_8 {

public static void main(String[] args) {


// Declarar Variables
double x1, x2;
double a, b, c, d, e, f, g, h;

//Entrada de las variables


a = Double.parseDouble(JOptionPane.showInputDialog("Valor de A"));
b = Double.parseDouble(JOptionPane.showInputDialog("Valor de B"));
c = Double.parseDouble(JOptionPane.showInputDialog("Valor de C"));
d = Math.pow(b,2);
e = 4 * a * c;
f = 2 * a;
g = d - e;
h = Math.sqrt(g);

//Calcula los valores de x1 y x2


x1 = (-b + (Math.sqrt(g)) / f);
x2 = (-b - (Math.sqrt(g)) / f);

//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

Video 19 – Condicionales: La sentencia SWITCH


1. Tiene el comportamiento del lenguaje C++. La forma estándar de la condición SWITCH es:

switch (dato) {
case 1:
Instrucción1;
break;
case 1:
Instrucción1;
break;
.
.

case N:
InstrucciónN;
break;
default:
CasoContrario;
break;
}

Video 20 – Condicionales __ Ejercicio - Determinar si un número es múltiplo de 10


1. Hacer un programa que lea un número entero y verifique si es múltiplo de 10:

public static void main(String[] args) {


// Declara Variable y la asigna
int entero;
entero = Integer.parseInt(JOptionPane.showInputDialog("Digite un Número Entero: "));

//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");
}

2. Leer 2 números y verificar cual de los dos es el mayor, o si son iguales:

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);
}
}

Video 21 – Condicionales __ Ejercicio - Determinar si un una letra es mayúscula o no


1. Hacer un programa que lea un carácter y verifique si es mayúscula o no.

public static void main(String[] args) {


// Declarar Variables y Lectura
char letra;
letra = JOptionPane.showInputDialog("Digite un caracter ").charAt(0);

//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.

public static void main(String[] args) {


//Declarar Variables y Lectura
double valtotal, valpago, descuento;
valtotal = Double.parseDouble(JOptionPane.showInputDialog("Digite Valor a Pagar"));

//Cálculo del Pago


if (valtotal >= 30000) {
descuento = valtotal * 20 / 100;
valpago = valtotal - descuento;
}
else {
descuento = 0;
valpago = valtotal - descuento;
}

//Salida de Resultados
if (descuento == 0){
JOptionPane.showMessageDialog(null, "Pago $ " + valpago + " Sin Descuento");
}
else {
JOptionPane.showMessageDialog(null, "Pago $ " + valpago + " Con Descuento 20%");
}
}

Video 22 – Condicionales __ Ejercicio – Salario Semanal de un Obrero


1. Un obrero necesita calcular su salario semanal, el cual se obtiene de la siguiente manera: Si trabaja 40
horas o menos se le paga un salario de 16 $/Hora; Si trabaja más de 40 horas, se le paga un salario de 16
$/Hora por cada una de las primeras 40 horas y $20 por cada hora extra.

public static void main(String[] args) {


// Declarar y Asignar Variables
double total, horas, extra, salario, salarioextra;
total = Double.parseDouble(JOptionPane.showInputDialog("Digite Total Horas Trabajadas"));

//Cálculo de horas normales, extras y total salario


if (total <= 40){
salario = total * 16;

//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");
}

Video 23 – Condicionales – Ejercicio - Ordenar 3 números de mayor a menor


1. Pedir 3 números y ordenarlos de mayor a menor

public static void main(String[] args) {


// Declarar Variables y Asignarlas
int n1, n2, n3;
n1 = Integer.parseInt(JOptionPane.showInputDialog("Digite Numero 1 "));
n2 = Integer.parseInt(JOptionPane.showInputDialog("Digite Numero 2 "));
n3 = Integer.parseInt(JOptionPane.showInputDialog("Digite Numero 3 "));

//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 and (y)

|| Operador or (o)

! Operador not (no)

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:

//Declarar Variables y Asignarlas


int numero, residuo;
numero = Integer.parseInt(JOptionPane.showInputDialog("Digite número entre 0 y 99.999"));

//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" );
}

Video 24 – Condicionales – Ejercicio - Determinar si una fecha es correcta


1. Pedir el día, mes y año de una fecha e indicar si la fecha es correcta. Suponiendo que todos los meses
tienen 30 días.

public static void main(String[] args) {


// Declarar Variables y Asignarlas
int dia, mes, año;
dia = Integer.parseInt(JOptionPane.showInputDialog("Digite DIA"));
mes = Integer.parseInt(JOptionPane.showInputDialog("Digite MES"));
año = Integer.parseInt(JOptionPane.showInputDialog("Digite AÑO"));

//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;
}

Video 25 – Condicionales – Ejercicio – Calculadora Aritmética


1. Construir un programa que simule el funcionamiento de una calculadora que puede realizar las cuatro
operaciones aritméticas básica (suma, resta, multiplicación y división), con valores numéricos enteros. El
usuario debe especificar la operación con el primer carácter del primer parámetro de la línea de
comandos: S o s para suma, R o r para resta, M o m para multiplicación, D o d para división.

public static void main(String[] args) {


// Declarac Variables y Asignarlas
double numero1, numero2, suma, resta, mult;
double division;
char operacion;
numero1 = Double.parseDouble(JOptionPane.showInputDialog("Digite NUMERO 1"));
numero2 = Double.parseDouble(JOptionPane.showInputDialog("Digite NUMERO 2"));
operacion = JOptionPane.showInputDialog("Digite Operación" + "\n" + "S-Suma, R-Resta, M-Mult, D-
División").charAt(0);

//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.

final int saldoInicial = 1000;


int opcion, deposito, retiro, saldofinal;
opcion = Integer.parseInt(JOptionPane.showInputDialog("MENU PRINCIAL CAJERO \n"
+ "1. Ingresar Dinero a la Cuenta \n"
+ "2. Retirar Dinero de la Cuenta \n"
+ "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;

JOptionPane.showMessageDialog(null, "SALDO INICIAL $ " + saldoInicial + "\n"


+ "RETIRO $ " + retiro + "\n"
+ "SALDO FINAL $ " + saldofinal);
}
break;
case 3:
JOptionPane.showMessageDialog(null, "PROCESO TERMINADO ");
break;
default:
JOptionPane.showMessageDialog(null, "ERROR!! OPCION DE MENU INVALIDA ");
break;
}

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;
}

Video 27 – Ciclos – Ciclo WHILE


1. Se repiten las instrucciones hasta que se cumpla la condición. El modo estándar es:
while (condición) {
Instrucciones;
}

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.

Video 29 – Ciclos – Ciclo FOR…NEXT


1. Cuando se escribe una instrucción FOR, dentro del paréntesis existen tres condiciones, todas ellas
separadas por punto y coma (;):
 Inicialización: Inicio de la variable que llevará el contador de la secuencia FOR
 Condición: La condición que se solicita en el ciclo
 Aumento o Decremento: que contiene si se aumenta en el ciclo o se decrementa la variable de
control.
2. La forma general de la gramática de la sentencia FOR es:

for (inicialización; condición; aumento o decremento) {


Instrucciones;
}
3. Ejemplo:
for ( int i =1; i <= 10; i++){
suma += i;
}

Video 30 – Ciclos – Ejercicio Cuadrado de un Número


1. Leer un Número y mostrar su cuadrado, repetir el proceso hasta que se introduzca un número negativo:

double numero, cuadrado;


numero = Integer.parseInt(JOptionPane.showInputDialog("Digite un número"));
while (numero >= 0){
cuadrado = Math.pow(numero, 2);
JOptionPane.showMessageDialog(null, "El cuadrado de " + numero + " es igual a " +cuadrado);
numero = Integer.parseInt(JOptionPane.showInputDialog("Digite un número"));
}

2. Leer un número e indicar si es positivo o negativo. El proceso se repetirá hasta que se introduzca un
cero.

int numero, cuadrado;


numero = Integer.parseInt(JOptionPane.showInputDialog("Digite un número"));
while (numero != 0){
if (numero > 0){
JOptionPane.showMessageDialog(null, "El Número " + numero + " es POSITIVO");
}
else{
JOptionPane.showMessageDialog(null, "El Número " + numero + " es NEGATIVO");
}
numero = Integer.parseInt(JOptionPane.showInputDialog("Digite un número"));
}

Video 31 – Ciclos – Ejercicio Números Pares e Impares


1. Leer números hasta que se introduzca un cero; para cada uno indicar si es par o impar

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.

Video 32 – Ciclos – Ejercicio Adivinar Número Aleatorio


1. Realizar un juego para adivinar un número. Para ello, generar un número aleatorio entre 0-100, y luego ir
pidiendo números indicando si es “mayor” o “menor” según sea el caso. El proceso termina cuando el
usuario acierta.

int numero, aleatorio, contador = 0;


aleatorio = (int) (Math.random() * 100);
do {
numero = Integer.parseInt(JOptionPane.showInputDialog("Digite un Número"));
if (aleatorio > numero) {
JOptionPane.showMessageDialog(null, "Digite un número mayor");
} else {
JOptionPane.showMessageDialog(null, "Digite un número menor");
}
contador++;

} while (numero != aleatorio);


JOptionPane.showMessageDialog(null, "HAS GANADO CON EL " + numero + " después de "
+ contador + " intentos");

2. Pedir números hasta que se teclee un 0, mostrar la suma de todos los números introducidos:

int numero, suma = 0;


do {
numero = Integer.parseInt(JOptionPane.showInputDialog("Digite número"));
suma += numero;
}while(numero != 0);
JOptionPane.showMessageDialog(null,"TOTAL SUMA = " + suma);
Video 33 – Ciclos – Ejercicio Calcular el promedio de N números
1. Pedir números hasta que se introduzca uno negativo. Al terminar calcular el promedio de los números
introducidos.
double numero, suma = 0, promedio = 0;
int contador = 0;
numero = Double.parseDouble(JOptionPane.showInputDialog("Digite Nota"));
while (numero >= 0){
suma += numero;
contador++;
promedio = suma / contador;
numero = Double.parseDouble(JOptionPane.showInputDialog("Digite Nota"));
}
JOptionPane.showMessageDialog(null, "Promedio = " + promedio);
2. Pedir un número N, y mostrar todos los números del 1 al N
int numero, suma = 0;
numero = Integer.parseInt(JOptionPane.showInputDialog("Digite un número"));
for(int i = 1; i <= numero; i++){
suma += i;
}
JOptionPane.showMessageDialog(null, "TOTAL suma del 1 al "+ numero + " = " + suma);

Video 34 – Ciclos – Ejercicio Mostrar los números del 100 al 0 de 7 en 7


1. Escribir todos los números del 100 al 0 de 7 en 7.
for (int i = 100; i >=0; i-=7){
System.out.println(i);
}

2. Pedir 10 números y escribir la suma total


int numero, suma = 0;
for (int i = 1; i <= 10; i++) {
numero = Integer.parseInt(JOptionPane.showInputDialog("Digite Nº" + i));
suma += numero;
}
JOptionPane.showMessageDialog(null,"TOTAL SUMA = " + suma);

Video 35 – Ciclos – Ejercicio Producto de los primeros 10 números impares


1. Escribir un programa que realice el producto de los primeros 10 números impares.
long producto = 1;
for (int i=1;i<=20;i+=2){
producto *= i;
}
JOptionPane.showMessageDialog(null, "El producto = " + producto);
}

2. Pedir un número y calcular su factorial


long numero;
double factorial = 1;
numero = Long.parseLong(JOptionPane.showInputDialog("Digite un número"));
if ((numero < 1) || (numero > 100)){
JOptionPane.showMessageDialog(null, "El número debe estar en el rango entre 1 y 100");
}
for (int i=1;i<=numero;i++){
factorial *= i;
}
JOptionPane.showMessageDialog(null, "Factorial de " + numero + " = " + factorial);
}

Video 41 – Arreglos - Definición


1. Un array (arreglo o matriz) en Java es una estructura de datos que nos permite almacenar un conjunto de
datos de un mismo tipo. El tamaño de los arrays se declara en un primer momento y no puede cambiar
luego durante la ejecución del programa.
2. Forma general de sintaxis:
tipo_variable [] nombre_array = new tipo_variable[dimensión];

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;

5. La otra manera, es creando y llenando con un string la matriz, así:


int edad[] = {5,7,9}

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].

Video 42 – Arreglos – Llenado de Matrices con Ciclos


1. Un array (arreglo o matriz) se puede llenar de diferentes maneras, como se puede apreciar en el siguiente
ejemplo, que ingresa los datos a una matriz y luego los presenta:
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int nElementos;
nElementos = Integer.parseInt(JOptionPane.showInputDialog("Digite Número de Elementos"));
char[] letras = new char[nElementos];
System.out.println("Digite los elementos del arreglo");
for (int i = 0; i < nElementos; i++) {
System.out.print((i + 1) + ". Digite un Caracter: ");
letras[i] = entrada.next().charAt(0);
}
System.out.println("\nLos Elementos del arreglo son: ");
for (int i = 0; i < nElementos; i++) {
System.out.println(letras[i]);
}
}
Video 43 – Arreglos – Bucle FOR…EACH
1. Un array (arreglo o matriz) se puede llenar de diferentes maneras, como se puede apreciar en el siguiente
ejemplo, que ingresa los datos a una matriz y luego los presenta:

String[] nombres = {"Luis", "Roberto", "María", "Marcela", "Pedro", "Carolina"};


//MOSTRAR LOS NOMBRES
//Método con for
for (int i = 0; i < nombres.length; i++) {
System.out.println(nombres[i]);
}
//Método for each
for (String elemento: nombres) {
System.out.println(elemento);
}

2. La sintaxis es:

for (tipo_matriz elemento : nombre_matriz)


{
}

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.

Video 44 – Arreglos – Ejercicio – Imprimir en orden los elementos de un arreglo


1. Crear un programa que lea 5 elementos en un arreglo y luego los imprima en el orden:
int[] elementos = new int[5];
//Entrada de Datos
for (int i = 0; i <= 4; i++) {
elementos[i] = Integer.parseInt(JOptionPane.showInputDialog("Digite elemento " + (i + 1)));
}
//Salida de Datos
for (int i = 0; i <= 4; i++) {
System.out.println("Elemento " + (i + 1) + " " + elementos[i]);
}

2. El mismo ejemplo, pero imprimir en orden invertido:


int[] elementos = new int[5];
//Entrada de Datos
for (int i = 0; i <= 4; i++) {
elementos[i] = Integer.parseInt(JOptionPane.showInputDialog("Digite elemento " + (i + 1)));
}
//Salida de Datos
for (int i = 4; i >= 0; i--) {
System.out.println("Elemento " + (i + 1) + " " + elementos[i]);
}

Video 45 – Arreglos – Ejercicio – Promedios en un arreglo


1. Leer 5 números por teclado, almacenarlos en un arreglo y a continuación realizar la media de los números
positivos, la media de los números negativos y contar el número de ceros.

int cuentacero = 0, cuentapos = 0, cuentaneg = 0;


double sumapos = 0, sumaneg = 0, mediapos = 0, medianeg = 0;
int[] numero = new int[5];
Scanner entrada = new Scanner(System.in);
System.out.println("Digite los 5 números");
for (int i = 0; i < 5; i++) {
numero[i] = entrada.nextInt();
if (numero[i] > 0) {
sumapos += numero[i];
cuentapos++;
} else {
if (numero[i] < 0) {
sumaneg -= numero[i];
cuentaneg++;
} else {
cuentacero++;
}
}
}
if (cuentapos == 0) {
mediapos = 0;
} else {
mediapos = (Double) sumapos / cuentapos;
}
if (cuentaneg == 0) {
medianeg = 0;
} else {
medianeg = (Double) sumaneg / cuentaneg;
}

System.out.println("MEDIA NUMEROS POSITIVOS = " + mediapos);


System.out.println("MEDIA NUMEROS NEGATIVOS = " + medianeg);
System.out.println("CANTIDAD DE CEROS = " + cuentacero);

Video 46 – Arreglos – Ejercicio – Mezclar dos arreglos


1. Leer por teclado dos tablas de 10 números enteros y mezclarlas en una tercera con el orden de 1ªA-1ªB,
2ªA-2ªB …. 10ªA-10ªB

// Declaración de Arreglos o Vectores


int[] a;
int[] b;
int[] c;
a = new int[10];
b = new int[10];
c = new int[20];

//Lee los datos de las matrices


Scanner entrada = new Scanner(System.in);
System.out.println("Digite La Matriz A");
for (int i = 0; i < 10; i++) {
a[i] = entrada.nextInt();
}
System.out.println("Digite La Matriz B");
for (int i = 0; i < 10; i++) {
b[i] = entrada.nextInt();
}
int j=0;
for (int i = 0; i < 10; i++) {
c[j] = a[i];
j++;
c[j] = b[i];
j++;
}

//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];

//Lee los datos de las matrices


Scanner entrada = new Scanner(System.in);
System.out.println("Digite La Matriz A");
for (int i = 0; i < 12; i++) {
a[i] = entrada.nextInt();
}
System.out.println("Digite La Matriz B");
for (int i = 0; i < 12; i++) {
b[i] = entrada.nextInt();
}
int j = 0;
for (int i = 0; i < 12; i += 3) {
c[j] = a[i];
c[j + 1] = a[i + 1];
c[j + 2] = a[i + 2];
c[j + 3] = b[i];
c[j + 4] = b[i + 1];
c[j + 5] = b[i + 2];
j += 6;
}

//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.

int[] a = new int[10];


boolean creciente = false, decreciente = false;
Scanner entrada = new Scanner(System.in);
System.out.println("Digite los Valores del Arreglo");
for (int i = 0; i < 10; i++) {
a[i] = entrada.nextInt();
}
//Cálculo
for (int i = 0; i < 9; i++) {
if (a[i] < a[i + 1]) { //Creciente
creciente = true;
}
if (a[i] > a[i + 1]) { //Decreciente
decreciente = true;
}
}

if (creciente == true && decreciente == false) {


System.out.println("La serie es CRECIENTE");
}
else if (creciente == false && decreciente == true) {
System.out.println("La serie es DECRECIENTE");
}
else if (creciente == true && decreciente == true){
System.out.println("La serie es DESORDENADA");
}
else if (creciente == false && decreciente == false){
System.out.println("La serie es TODA IGUAL");
}

Video 48 – Arreglos – Ejercicio – Desplazar una posición en un Arreglo


1. Leer por teclado una serie de 10 números enteros y la desplace una hacia abajo. El primero pasa a ser el
segundo, el segundo pasa a ser el tercero y así sucesivamente. El último pasa a ser el primero.

Scanner entrada = new Scanner(System.in);


int[] arreglo = new int[10];
int ultimo;
System.out.println("Digite los elementos del arreglo");
for (int i=0;i<10;i++){
arreglo[i] = entrada.nextInt();
}
ultimo = arreglo[9];
for (int i=8;i>=0;i--){
arreglo[i+1] = arreglo[i];
}
arreglo[0] = ultimo;
System.out.println("Salida de la Matriz ordenada");
for (int i=0;i<10;i++){
System.out.println(arreglo[i]);
}

Video 49 – Arreglos – Ejercicio – Insertar un número en un Arreglo ordenado


1. Leer por teclado una serie de 5 números enteros ordenados en forma creciente. Estos se guardarán en
una tabla de tamaño 10. Leer un número N que se insertará en la tabla en la posición adecuada para que
el arreglo siga ordenado.

int[] arreglo = new int[10];


boolean creciente = false;
int numero, sitio_num = 0;
Scanner entrada = new Scanner(System.in);
System.out.println("Digite la serie de 5 números:");
do {
for (int i = 0; i < 5; i++) {
System.out.print((i + 1) + ". Digite Número:");
arreglo[i] = entrada.nextInt();
}

//Comprobar si la secuencia es creciente o no


for (int i = 0; i < 4; i++) {
if (arreglo[i] < arreglo[i + 1]) {
creciente = true;
}
if (arreglo[i] >= arreglo[i + 1]) {
creciente = false;
break;
}
}
if (creciente == false) {
System.out.println("El arreglo no está ordenado en forma ascentente,"
+ " vuelva a digitar los números");
}
} while (creciente == false);
System.out.println("Digite un número a insertar");
numero = entrada.nextInt();
int j = 0;
while (arreglo[j] < numero && j < 5) {
sitio_num++;
j++;
}
for (int i = 4; i >= sitio_num; i++) {
arreglo[i + 1] = arreglo[i];
}
arreglo[sitio_num]=numero;
System.out.println("El Arreglo de salida es:");
for (int i=0;i<=arreglo.length;i++){
System.out.println(arreglo[i]);
}

Video 50 – Arreglos – Ejercicio – Separar los números pares e impares de un Arreglo


1. Leer por teclado una serie de 10 números enteros. Guardar en otra tabla los elementos pares de la
primera, y a continuación los elementos impares.

int[] a = new int[10];


int[] b = new int[10];
int conteopar = 0, conteoimpar = 0;
Scanner entrada = new Scanner(System.in);
System.out.println("Digite el contenido del Arreglo");
for (int i = 0; i <= 10; i++) {
System.out.println((i + 1) + ". Digite número: ");
a[i] = entrada.nextInt();
if (a[i] % 2 == 0) {
conteopar++;
} else {
conteoimpar++;
}
}
//Se crean dos matrices de salida
int[] par = new int[conteopar];
int[] impar = new int[conteoimpar];
for (int i = 0; i <= 10; i++) {
if (a[i] % 2 == 0) {
par[conteopar] = a[i];
conteopar++;
} else {
impar[conteoimpar] = a[i];
conteoimpar++;
}
}
System.out.println("SALIDA Arreglo Pares");
for (int i = 0; i < conteopar; i++){
System.out.println(par[i]);
}
System.out.println("SALIDA Arreglo Impares");
for (int i = 0; i < conteoimpar; i++){
System.out.println(impar[i]);
}

Video 51 – Arreglos – Ejercicio – Buscar un elemento en un Arreglo ordenado


1. Leer por teclado una serie de 10 números enteros ordenados de manera creciente. Leer N y buscarlo en
la tabla. Se debe mostrar la posición en la que se encuentra. Si no está, indicarlo con un mensaje.
Scanner entrada = new Scanner(System.in);
int arreglo[], numero;
arreglo = new int[10];
boolean creciente = false;
do { //Ingresar Datos del arreglo
System.out.println("Digite Datos del Arreglo");
for (int i = 0; i < 10; i++) {
System.out.println((i + 1) + ".Digite Número");
arreglo[i] = entrada.nextInt();
}

for (int i = 0; i < 9; i++) { //Verificar que es ascendente


if (arreglo[i] < arreglo[i + 1]) {
creciente = true;
}
if (arreglo[i] > arreglo[i + 1]) {
creciente = false;
break;
}
}
if (creciente == false){
System.out.println("El Arreglo no es creciente, Intente de Nuevo");
}
} while (creciente == false);
System.out.println("Digite el número a buscar");
numero = entrada.nextInt();
int i = 0; //Se busca en el arreglo
while(i<10 && arreglo[i]<numero){
i++;
}
if (i == 10){
System.out.println("Número no Encontrado");
}
else{
if (arreglo[i] == numero){
System.out.println("Número encontrado en la posición " + i);
}
}
Video 52 – Ordenamientos – Método Burbuja
1. El método Burbuja consiste en ir revisando cada elemento del arreglo que va a ser ordenado con el
elemento siguiente, intercambiándolos de posición cuando el orden está equivocado. Es necesario revisar
varias veces la lista, hasta que no se necesiten más intercambios, lo que significa que la lista está ordenada.

Scanner entrada = new Scanner(System.in);


int arreglo[], nElementos, aux;
nElementos = Integer.parseInt(JOptionPane.showInputDialog("Digite Número Elementos"));
arreglo = new int[nElementos];
//Llenar el arreglo
System.out.println("Digite los Datos del Arreglo");
for (int i = 0; i < nElementos; i++) {
System.out.println((i + 1) + ". Digite Número");
arreglo[i] = entrada.nextInt();
}

//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]);
}

Video 53 – Ordenamientos – Método por Inserción


1. El método por Inserción es similar al método utilizado por las personas en un juego de naipes, donde se
saca una y se coloca donde debe. El procedimiento requiere un número de operaciones igual al cuadrado
del número de elementos del arreglo.

// Declaración de variables y Asignación


Scanner entrada = new Scanner(System.in);
int arreglo[], nElementos, aux, pos;
nElementos = Integer.parseInt(JOptionPane.showInputDialog("Digite Número Elementos"));
arreglo = new int[nElementos];
//Llenar el arreglo
System.out.println("Digite los Datos del Arreglo");
for (int i = 0; i < nElementos; i++) {
System.out.println((i + 1) + ". Digite Número");
arreglo[i] = entrada.nextInt();
}

//Ordenamiento por Inserción


for (int i=0;i<nElementos;i++){
pos = i;
aux = arreglo[i];
while((pos > 0) && (arreglo[pos - 1] > aux)){
arreglo[pos] = arreglo[pos - 1];
pos--;
}
arreglo[pos] = 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]);
}

Video 54 – Ordenamientos – Método por Inserción


1. El método por Inserción es similar al método utilizado por las personas en un juego de naipes, donde se
saca una y se coloca donde debe. El procedimiento requiere un número de operaciones igual al cuadrado
del número de elementos del arreglo.

Scanner entrada = new Scanner(System.in);


int arreglo[], nElementos, aux, pos;
nElementos = Integer.parseInt(JOptionPane.showInputDialog("Digite Número Elementos"));
arreglo = new int[nElementos];
//Llenar el arreglo
System.out.println("Digite los Datos del Arreglo:");
for (int i = 0; i < nElementos; i++) {
System.out.print((i + 1) + ". Digite Número: ");
arreglo[i] = entrada.nextInt();
}

//Ordenamiento por Inserción


for (int i=0;i<nElementos;i++){
pos = i;
aux = arreglo[i];
while((pos > 0) && (arreglo[pos - 1] > aux)){
arreglo[pos] = arreglo[pos - 1];
pos--;
}
arreglo[pos] = aux;
}
//Salida del arreglo en forma creciente
System.out.println("Arreglo Ordenado forma Creciente: ");
for (int i = 0; i < nElementos; i++) {
System.out.print(arreglo[i] + " - ");
}

Video 55 – Matrices Definición


1. Es un arreglo bidimensional, necesita de dos índices para acceder a sus elementos, Gráficamente se puede
representar como una tabla de n filas y m columnas, cuyos elementos son todos del mismo tipo.

2. La sintaxis es:
int matriz[][] = {{a1,...,an},{b1,…,bn},{c1…,cn}}; //Método directo

int[][] matriz = new int[filas][columnas]; //Asignación

int matriz[][]; //Asignación indirecta


matriz = new int[filas][columnas];

3. Ejemplo de entrada y salida de datos de los elementos de la matriz:


Scanner entrada = new Scanner(System.in);
int matriz[][], nFilas, nCol;

//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];

System.out.println("\nDigite la matriz: ");


for (int i = 0; i < nFilas; i++) {
for (int j = 0; j < nCol; j++) {
System.out.print("[" + i + "]" + "[" + j + "]: ");
matriz[i][j] = entrada.nextInt();
}
}
System.out.println("Salida de la matriz: ");
for (int i = 0; i < nFilas; i++) {
for (int j = 0; j < nCol; j++) {
System.out.print(matriz[i][j] + " ");
}
System.out.println("");
}

Video 56 – Matrices – Ejercicio – Determinar si un matriz es simétrica


1. Crear y cargar una matriz de n por m, y determinar si es simétrica o no.

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];

System.out.println("\nDigite la matriz: ");


for (int i = 0; i < nFilas; i++) {
for (int j = 0; j < nCol; j++) {
System.out.print("[" + i + "]" + "[" + j + "]: ");
matriz[i][j] = entrada.nextInt();
}
}

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");
}

2. Crear y cargar dos matrices 3x3, sumarlas y mostrar su suma:


Scanner entrada = new Scanner(System.in);
int nFilas, nCol;
int A[][];
A = new int[3][3];
int B[][];
B = new int[3][3];
int suma[][];
suma = new int[3][3];

//Entrada de datos de las matrices A y B


System.out.println("Digite la Matriz A: ");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.print("[" + i + "]" + "[" + j + "]: ");
A[i][j] = entrada.nextInt();
}
}
System.out.println("Digite la Matriz B: ");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.print("[" + i + "]" + "[" + j + "]: ");
B[i][j] = entrada.nextInt();
}
}

//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];
}
}

//Salida de la matriz suma


System.out.println("Matriz suma A + B: ");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.print(suma[i][j] + " ");
}
System.out.println("");
}

Video 57 – Matrices – Ejercicio – Calcular la Transpuesta de una Matriz


1. Crear y cargar una matriz de 3x3, y determinar o calcular su matriz transpuesta.

1 2 3 1 4 7
4 5 6 2 5 8
7 8 9 3 6 9
A AT

Scanner entrada = new Scanner(System.in);


int nFilas, nCol;
int A[][];
A = new int[3][3];
int AT[][];
AT = new int[3][3];

//Entrada de datos de la matriz A


System.out.println("Digite la Matriz A: ");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.print("[" + i + "]" + "[" + j + "]: ");
A[i][j] = entrada.nextInt();
}
}

//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.

Video 61 – (POO) Creación de Clases y Objetos


1. La sintaxis para la Creación de Clases es la siguiente:
modificador de acceso Indicador de Clase
nombre de la Clase

public class Clase


{
Atributos;
Características;
}
2. La sintaxis para la creación de objetos es:
Nombre clase Nombre Objeto Constructores

Coche coche1 = new Coche();


3. Ya dentro de Netbeans, se crea un nuevo Proyecto, pero teniendo en cuenta de deshabilitar el cuadro de
verificación “Create Main Class” y finalizar.
4. Dentro del proyecto botón derecho sobre <default packages> y seleccionar un New – Java Package. Luego,
dentro del paquete creado, se crea un nuevo Java Class.
5. Se desarrolla el contenido de la clase, como ejemplo, se tiene la clase Coche, que tiene los atributos de
color, marca y kms recorridos, y además, tiene el método main donde se ejecuta la aplicación (para poder
ejecutar la clase, tiene que guardarse primero, para que la clase aparezca en la lista):

Video 62 – (POO) Concepto y Creación de Métodos


1. Un Método es una acción o comportamiento de los objetos.
2. Sintaxis:
modificador de acceso Valor de retorno
nombre del método

public void método ( )


{
Instrucciones; argumentos
}
3. El modificador de acceso puede ser public o private. En el caso del Valor de Retorno, si se coloca void, el
método no retorna valor; si se coloca int, long, float, etc el método retorna un valor entero, largo, flotante,
etc. Los argumentos son las variables con las que inicia el método.
4. Como ejemplo, se va a crear una clase que va a permitir leer dos números y efectuar las operaciones entre
ellos (suma, resta, etc). Entonces, se crearán dos clases, la primera de ellas lleva los atributos y métodos
necesarios, y la otra, llea el proyecto main.
public class Operacion {
//Atributos
int numero1;
int numero2;
int suma;
int resta;
int multiplicacion;
int division;
//Métodos
public void leerNumeros(){
numero1 = Integer.parseInt(JOptionPane.showInputDialog("Digite el Nº1 "));
numero2 = Integer.parseInt(JOptionPane.showInputDialog("Digite el Nº2 "));
}
public void sumar(){
suma = numero1 + numero2;
}
public void restar(){
resta = numero1 - numero2;
}
public void multiplicar(){
multiplicacion = numero1 * numero2;
}
public void dividir(){
division = numero1 / numero2;
}
public void mostrarResultados(){
System.out.println("Las suma es: " + suma);
System.out.println("Las resta es: " + resta);
System.out.println("Las multiplicación es: " + multiplicacion);
System.out.println("Las division es: " + division);
}
Y la clase Main es:
package ClasesyObjetos;
public class Main {
public static void main(String [] args){
Operacion op = new Operacion();
op.leerNumeros();
op.sumar();
op.restar();
op.multiplicar();
op.dividir();
op.mostrarResultados();
}
}
Video 63 – (POO) Métodos – Parámetros y Argumentos
1. Parámetros son aquellos que son declaraciones de objetos, ejemplo: int variable y se ubica en la
Declaración del Método, y son Argumentos, cuando se invoca desde el objeto mismo, es decir, son los
valores de las variables al entrar al método.

2. Sintaxis:

public void Método (int a, …, int z)   parámetros


{
Instrucciones;
}
Método objeto1 = new Método();
objeto1.Método(inta,…,int z);   argumentos, o sea llevan dato

Video 64 – (POO) Métodos – Retorno de Valores


1. Son aquellos métodos que retornan un resultado o valor al sistema, es decir, son todos aquellos métodos
que en su operación y declaración devuelven un valor al sistema, para continuar con el proceso.
2. Sintaxis ejemplo:
public int sumar (int a, int b)   parámetros
{
int suma = a + b;
return suma;
}

int suma = objeto1.sumar(5,4); //suma los valores de 5 + 4

3. Sintaxis ejemplo con String:


public String saludar (String nombre)
{
String saludo = “Hola” + nombre;
return saludo;
}

String saludo = objeto1.saludo(“Alejandro”);


System.out.println(saludo);

Video 65 – (POO) Métodos – Método Constructor


1. Es un método especial de una clase que se invoca siempre que crea un objeto de esa clase, y como
característica deben llevar el mismo nombre de la Clase.
2. Cuando se crea un objeto suceden tres cosas: Se asigna memoria para el objeto; se inicializan los atributos
de ese objeto, y se invoca al constructor de la clase que puede ser uno entre varios.
3. Las características de los constructores son:
 Tienen el mismo nombre de la clase.
 No devuelve ningún valor
 Debe declararse como público

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);
}

Video 66 – (POO) Métodos – Sobrecarga de Métodos


1. Es una manera de permitir que un objeto tenga varios Métodos con el mismo nombre pero con diferentes
atributos.
2. Ejemplo:
//Atributos
String nombre;
int edad;
String cedula;

//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.

Video 67 – (POO) Métodos – Modificadores de Acceso


1. Es el atributo que tiene una definición de una variable o método. Cuando no se utiliza ningún modificador,
el sistema lo toma por default como private.
2. Si se coloca public, puede ser accedido desde cualquier clase o cualquier paquete que pertenezca al
proyecto.
3. Si se coloca private, se restringe únicamente a los métodos y objetos de la clase originial.
Video 68 – (POO) Métodos – Encapsulamiento y métodos accesores
1. Para evitar confusiones al declarar muchas variables en diferentes clases, las variables se declaran como
private, y se pueden accesar únicamente mediante los métodos Setters (son aquellos que definen
variables y procesos al pedir el datos) y Getters (son los valores que retornan de la operación del Getter.
2. Sintaxis ejemplo:

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;

//Métodos Getters y Setters

public int getEdad() {


return edad;
}

public void setEdad(int edad) {


this.edad = 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:

private final int proceso = 20;


2. Cuando se define una constante, ésta no puede ser utilizada por los métodos Setter, pues como es
constante, no se puede modificar durante la ejecución del programa.

Video 70 – (POO) Métodos – Miembros estáticos de una Clase


1. Cuando se define una variable dentro de una clase, sin que sea estática, hace que la variable sea creada
para cada objeto nuevo creado en esa clase, y cuando se modifica lo hace individualmente por objeto.
2. Cuando se define static la variable está a estática para todos los objetos y métodos miembros de la clase,
es decir, si modifico el atributo, es modificado para todos los miembros de la clase.
3. Sintaxis Ejemplo:

public static string frase1 = “Hola Mundo”;


Video 71 – (POO) Métodos – Ejemplo – Obtener el perímetro y área de cuadrado
1. Construir un programas que calcule el área y el perímetro de un cuadrilátero, dada la longitud de sus dos
lados. Los valores de longitud deben ingresarse por línea de órdenes. Si es un cuadrado, se enviará
solamente el valor de un lado al constructor.

public class Cuadrilatero {


//Atributos
private float lado1;
private float lado2;

//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;
}

//Métodos Setters y Getters


public float getPerimetro(){
float perimetro = 2 * (lado1 + lado2);
return perimetro;
}
public float getArea(){
float area = (lado1 * lado2);
return area;
}
}

public class Principal {


public static void main(String [] args){
Cuadrilatero c1;
float lado1, lado2;

lado1 = Float.parseFloat(JOptionPane.showInputDialog("Digite lado1: "));


lado2 = Float.parseFloat(JOptionPane.showInputDialog("Digite lado2: "));

if (lado1 == lado2){
c1 = new Cuadrilatero(lado1);
}else {
c1 = new Cuadrilatero(lado1, lado2);
}

System.out.println("El perímetro es = " + c1.getPerimetro());


System.out.println("El área es = ");
}
}

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.

public class MainCoordenadas {

public static void main(String[] args) {


//Declaración de Variables

int posXi, posXn;


int posXf;
int posYi, posYn, posYf;
int direccion = 0;
int movimiento = 0;
boolean sale = false;
Movimiento lugar;

//Ingreso de Coordenadas iniciales


posXi = posXn = posXf = Integer.parseInt(JOptionPane.showInputDialog("CoordenadaX inicial "));
posYi = posYn = posYf = Integer.parseInt(JOptionPane.showInputDialog("Coordenada Y inicial "));

while (direccion >= 0) {


//Ingreso de la Dirección y cantidad de movimiento
direccion = Integer.parseInt(JOptionPane.showInputDialog("Dirección (2-Abajo, 4-Izquierda, 6-Derecha, 8-Arriba, -
1 - Salir)"));
movimiento = Integer.parseInt(JOptionPane.showInputDialog("Cantidad de Mov "));
lugar = new Movimiento(posXn, posYn, direccion, movimiento);
//Determinar Movimiento
switch (direccion) {
case 2: //Abajo
lugar.Abajo(posXn, posYn, movimiento);
posYn = posYn - movimiento;
break;
case 4:
lugar.Izquierda(posXn, posYn, movimiento);
posXn = posXn - movimiento;
break;
case 6:
lugar.Derecha(posXn, posYn, movimiento);
posXn = posXn + movimiento;
break;
case 8:
lugar.Arriba(posXn, posYn, movimiento);
posYn = posYn + movimiento;
break;
case -1:
break;
default:
JOptionPane.showMessageDialog(null, "Dirección Inválida");
break;
}

//Mostrar Resultados
lugar.MostrarResultados();
}
}

public class Movimiento {


//Atributos
private int posXi, posXn, posXf;
private int posYi, posYn, posYf;
private int dir;
private int mov;
//Métodos
//Movimiento
public Movimiento(int _posXn, int _posYn, int _dir, int _mov) {
this.posXn = _posXn;
this.posYn = _posYn;
this.dir = _dir;
this.mov = _mov;
}
public void Arriba(int _posXn, int _posYn, int _mov){
posXf = _posXn;
posYf = _posYn + _mov;
posXn = posXf;
posYn = posYf;
}
public void Abajo(int _posXn, int _posYn, int _mov){
posXf = posXn;
posYf = posYn - _mov;
posXn = posXf;
posYn = posYf;
}
public void Derecha(int _posXn, int _posYn, int _mov){
posXf = posXn + _mov;
posYf = posYn;
posXn = posXf;
posYn = posYf;
}
public void Izquierda(int _posXn, int _posYn, int _mov){
posXf = posXn - _mov;
posYf = posYn;
posXn = posXf;
posYn = posYf;
}
public void MostrarResultados(){
switch (this.dir) {
case 2:
JOptionPane.showMessageDialog(null, "Se mueve " + mov + " hacia Abajo \n "
+ "Posición Final " + posXf + "," + posYf);
break;
case 4:
JOptionPane.showMessageDialog(null, "Se mueve " + mov + " hacia Izquierda \n "
+ "Posición Final " + posXf + "," + posYf);
break;
case 6:
JOptionPane.showMessageDialog(null, "Se mueve " + mov + " hacia Derecha \n "
+ "Posición Final " + posXf + "," + posYf);
break;
case 8:
JOptionPane.showMessageDialog(null, "Se mueve " + mov + " hacia Arriba \n "
+ "Posición Final " + posXf + "," + posYf);
break;
case -1:
JOptionPane.showMessageDialog(null, "Termina");
break;
default:
JOptionPane.showMessageDialog(null, "SMovimiento Inválido");
break;
}

Video 72 – (POO) Métodos – Ejemplo – Encontrar el Vehículo más Barato


1. Construir un programa que dada una serie de vehículos caracterizados por su marca, modelo y precio,
imprima las propiedades del vehículo más barato. Para ello, se deberán leer por teclado las características
de cada vehículo y crear una clase que represente a cada uno de ellos.
public class Principal {
public static int indiceCocheMasBarato(Vehiculo coches[]){
float precio;
int indice =0;
precio = coches[0].getPrecio();
for (int i=0; i<coches.length;i++){
if (coches[i].getPrecio() < precio){
precio = coches[i].getPrecio();
indice = i;
}
}
return indice;
}
public static void main(String [] args){
Scanner entrada = new Scanner(System.in);
String marca, modelo;
float precio;
int numeroVehiculos, indiceMasBarato;

System.out.println("Digite la cantidad de Vehículos: ");


numeroVehiculos = entrada.nextInt();

//Crear los objetos para los coches y llenar sus datos


Vehiculo coches[] = new Vehiculo[numeroVehiculos];
for (int i=0; i<coches.length;i++){
System.out.println("\nDigite las Características del Coche " + (i+1) + ":");
System.out.println("Marca: ");
marca = entrada.nextLine();
System.out.println("Modelo: ");
modelo = entrada.nextLine();
System.out.println("Precio: ");
precio = entrada.nextFloat();

coches[i] = new Vehiculo(marca, modelo, precio);


}
indiceMasBarato = indiceCocheMasBarato(coches);
System.out.println("El coche más barato es: ");
System.out.println(coches[indiceMasBarato].MostrarDatos());
}
}
public class Vehiculo {
private String marca;
private String modelo;
private float precio;
}
public Vehiculo(String marca, String modelo, float precio) {
this.marca = marca;
this.modelo = modelo;
this.precio = precio;
}
public float getPrecio() {
return precio;
}
public String MostrarDatos(){
return "Marca: " + marca + "\nModelo: " + modelo + "\nPrecio: " + precio;
}
Video 73 – (POO) Métodos – Ejemplo – Area y Perímetro de Triángulo Isósceles
1. Construir un programa para trabajar triángulos isósceles. Para ello defina los atributos necesarios que se
requieren, proporcione métodos de consulta, un método constructor e implemente métodos para
calcular el perímetro y el área del triángulo; además implementar un método que a partir de un arreglo
de triángulos devuelva el área del triángulo de mayor superficie.

public class Principal {


public static Double mayorArea(Triangulo_Isosceles triangulos[]){
double area;
area = triangulos[0].obtenerArea();
for (int i = 0; i<triangulos.length; i++){
if (triangulos[i].obtenerArea() > area){
area = triangulos[i].obtenerArea();
}
}
return area;
}
public static void main(String [] args){
Scanner entrada = new Scanner(System.in);
double base, lado;
int nTriangulos;
System.out.println("Digite el Nº de Triángulos: ");
nTriangulos = entrada.nextInt();

Triangulo_Isosceles triangulos[] = new Triangulo_Isosceles[nTriangulos];

for(int i = 0; i < triangulos.length; i++){


System.out.println("\nDigite los valores para el Triángulo " + (i + 1) +": ");
System.out.print("Introduczca la Base: ");
base = entrada.nextDouble();
System.out.print("Introduczca el Lado: ");
lado = entrada.nextDouble();

triangulos[i] = new Triangulo_Isosceles(base, lado);

System.out.println("Perímetro = " + triangulos[i].obtenerPerimetro());


System.out.println("Area = " + triangulos[i].obtenerArea());
}
System.out.println("\nEl Area del Triángulo de Mayor Superficie es: " + mayorArea(triangulos));

}
}

public class Triangulo_Isosceles {


//Atributos
private double base;
private double lado;

public Triangulo_Isosceles(double base, double lado) {


this.base = base;
this.lado = lado;
}

public double obtenerPerimetro(){


double perimetro = 2*lado+ base;
return perimetro;
}

public double obtenerArea(){


double area = (base * Math.sqrt((lado * lado) - ((base * base)/4)))/2;
return area;
}

public String mostrarDatos(){


return "Base: " + base + "\nLado: " + lado + "\nPerímetro: " + obtenerPerimetro() + "\nArea: " + obtenerArea();
}
}

Potrebbero piacerti anche