Sunteți pe pagina 1din 98

Manual JAVA Rafaelhcc

Para crear un proyecto de java en netbeans, vamos a FILE/New


Project/

Luego nos saldrá el código fuente, y escribimos nuestro código


después del main.

\
Capitulo 4 – Hola Mundo

-*Para Imprimir en pantalla lo hacemos con:

System.out.print (“Hola Mundo”);

-*Para dar Salto de línea es con “ln”, por ejemplo:

System.out.println (“Hola Mundo”);

-*Nota: con el comando sout + TAB copio la línea de arriba completa

SALTO DE LINEA \n

Or “o” ALT 124 = ||

Capitulo 5 - Comentarios
*Comentarios de multiples lineas /* /*

*Comentarios de una línea //

Capitulo 6 – Tipos de datos primitivos


Para imprimir una variable
System.out.println(“Numero entero:”+ entero)
Para números con decimal ejemplo: 3.45

Debo poner, float decimal=3.45f;

**Todo tipo de dato float debe llevar una “f” al final del numero como
el ejemplo de arriba.

Pero si le pones un doublé no debemos ponerle la letra f pero ocupa


más memoria utiliza 64bits.

Para imprimir 1 carácter se hace con char

Char carácter= ‘a’; //* Se le puede poner 1 numero y va dentro de


comillas simples

Para decisión verdadera o falsa, usamos boolean

Boolean decisión= true;


Capitulo 7 – Datos primitivos y cadenas de
caracteres.
Integer es un dato no primitivo, permite agregar valor “NULL”

String es para cadena de caracteres ejemplo nombres en las variables


entre comillas, ejemplo:

String palabra = “Rafael Cedano”;

Capitulo 8 – Constantes
Para declar una constante que no cambie su valor, debo poner la
palabra FINAL, ejemplo:

Final int numero=10;

Capitulo 9 – Entrado y Salida de datos


Para guardar datos en una variable se debe digitar una línea de código y
exportar.

import java.util.Scanner;
Scanner entrada = new Scanner (system.in);
Luego de esto
Numero = entrada.nextInt();
.nextint(); ** Significa que seleccionare el tipo de variable que ya esta
especificada arriba, ejemplo si tengo una variable nombre tipo float
entonces debo poner:

Float numero;
Numero = entrada.nextFloat();
Para cadenas de letras

String Cadena;
cadena = entrada.nextLine();

Para guardar un solo carácter.

Char letra;
Letra = entrada.next().charAt(0);

*YENSY RECUERDAME DECIRTE ALGO DE LOS


PUNTOS Y LAS COMAS DE JAVA, CUANDO
TERMINEMOS EL SISTEMA TENDREMOS QUE
PONER POR DEFECTO ,*
Capitulo 9 – Entrado y Salida de datos con JOptionPane
Importar librería: import javax.swing.JOptionPane;
String nombre;
Int Numero;
Char letra;
Double decimal;

Nombre = JOptionPane.showInputDialog(“Digite un nombre”); //*Asi se usa para cuando la variable es


string

Numero = JOptionPane.showInputDialog(“Digite un numero”); //*pero recordando que JOptionPane es


string no podemos almacenarla en una variable tipo entero, entonces debemos hacer el siguiente
proceso.
Numero = Integer.parseInt(JOptionPane.showInputDialog(“Digite un numero”));

Letra = JOptionPane.showInputDialog(“Digite una letra”).charAt(0);//aca debemos hacer casi lo mismo


recordando que JOptionPane no entrega string y nuestra variable es de tipo char entonces debemos
agregarle a final de la línea .charArt(0);

Decimal = Double.parseDouble (JOptionPane.showInputDialog(“Digite un decimal”));

Para luego mostrar el texto o numero introducido

JOptionPane.showMessageDialog(null, ("El nombre es: "+nombre));

Capitulo 2x2 – Operadores y Expresiones

Scanner entrada = new Scanner (System.in);


//Declaracion de variables
float numero1,numero2, suma, resta, multiplicacion, division,porciento;

//Entrada de datos
System.out.print("Introduzca 1 numeros: ");
numero1 = entrada.nextFloat();
System.out.print("Introduzca 2 numeros: ");
numero2 = entrada.nextFloat();

//Hacemos la operacion
suma = numero1+numero2;
resta = numero1-numero2;
multiplicacion=numero1*numero2;
division=numero1/numero2;
porciento=numero1%numero2;

//Imprimimos el resultado
System.out.println("La suma es:"+suma);
System.out.println("La resta es:"+resta);
System.out.println("La multiplicacion es:"+multiplicacion);
System.out.println("La division es:"+division);
System.out.println("El porciento es:"+porciento);

Capitulo 2x5 – Clase Math.

Para Raiz:
Double raíz = Math.sqrt(12.5);
En caso de que lo quiera entero pongo
Int raíz = (int)Math.sqrt(12);

Para potenciación:

Double base=5, exponente=10;


Double Rpotencia = Math.pow(base, exponente);

Redondear

Float numero = 3.51f; Double numero = 3.51;


Int resultado = Math.round(numero); Long resultado = Math.round(numero);

Capitulo 9 –
package ejercicio3;

import java.util.Scanner;

/**
*
* @author RHCC
*/
public class Ejercicio3 {

/**
* Ejercicio 5: La calificacion final de un estufiante de informatica se calcula con base
a las calificaciones de cuatro aspectos de su rendimiento academico: participacion,
primer examen final, segundo examen parcial y examen final. Sabiendo que las calificaciones
anteriores entran a la calificacion final con ponderaciones del 10%, 25%, 25% y 40%, Hacer
un programa que calcule e imprima la calificacion final obtenida por un estudiante.
* @param args
*/
public static void main(String[] args) {
Scanner entrada = new Scanner (System.in);

float nparticipacion = 0f, nprimerexamen = 0f, nsegundoexamen = 0f, nexamenfinal = 0f, nfinal =
0f;

System.out.print("Digite la nota de participacion: ");


nparticipacion = entrada.nextFloat();
System.out.print("Digita la nota del primer examen final: ");
nprimerexamen = entrada.nextFloat();
System.out.print("Digita la nota del segundo examen final: ");
nsegundoexamen = entrada.nextFloat();
System.out.print("Digita la nota del examen final: ");
nexamenfinal = entrada.nextFloat();

nparticipacion *= 0.10;
nprimerexamen *= 0.25;
nsegundoexamen *= 0.25;
nexamenfinal *= 0.40;
nfinal = nparticipacion + nprimerexamen+ nsegundoexamen+ nexamenfinal;

System.out.println("\n Nota Final: "+nfinal);

Capitulo 2x12 public class Ejercicio7 {

/**Ejercicio 7: Construir un programa que, dado un numero total de horas, devuelva el numero
de semanas, dias y horas equivalentes. Por ejemplo, dado un toral de 1000 horas debe
mostrar 5 semanas, 6 dias y 16 horas.
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner entrada = new Scanner (System.in);

float totalhoras = 0, semanas, dias, horas;

System.out.print("Digite el total de horas: ");


totalhoras = entrada.nextFloat();

horas = totalhoras%24;
dias = totalhoras%168 / 24;
semanas = totalhoras / 168;

System.out.println("Total de horas: "+horas);


System.out.println("Total de dias: "+dias);
System.out.println("Total de semanas: "+semanas);
}

Capitulo 3 – Condicionales

Operadores:
== Esto es igual
!= Diferente
> - Mayor
< - Menor
<= - Menor igual
>= - Mayor igual

Sentencia if else
Sentencia Switch
El Operador Ternario

public static void main(String[] args) {


int numero, dato = 5;

numero = Integer.parseInt(JOptionPane.showInputDialog("Digite un numero"));

if (numero == dato){
JOptionPane.showMessageDialog(null, "El numero es 5");
} else {
JOptionPane.showMessageDialog(null, "Este numero NO es 5");
}
}

SWITCH CASE
public static void main(String[] args) {
int dato;

dato = Integer.parseInt(JOptionPane.showInputDialog("Digite un
numero: "));

switch (dato){
case 1: JOptionPane.showMessageDialog(null, "Este es el
numero 1: ");
break;
case 2:JOptionPane.showMessageDialog(null, "Este es el
numero 2: ");
break;
case 3:JOptionPane.showMessageDialog(null, "Este es el
numero 3: ");
break;
case 4: JOptionPane.showMessageDialog(null, "Este es el
numero 4: ");
break;
case 5:JOptionPane.showMessageDialog(null, "Este es el
numero 5: ");
break;
default: JOptionPane.showMessageDialog(null, "Este numero
no esta en el rango");
}

}
}

BREAK: sale del switch.

Condicion Ternario
public static void main(String[] args) {
int numero;
String mensaje;

numero = Integer.parseInt(JOptionPane.showInputDialog("Digite
un numero"));

mensaje = (numero%2==0) ? "Es par" : "Es inpar" ;


JOptionPane.showMessageDialog(null, mensaje);
}

Ejercicio 1: Hacer un programa que lea un numero entero y muestre si


ese numero es múltiplo de 10 o no lo es.

public static void main(String[] args) {


int numero;

numero = Integer.parseInt(JOptionPane.showInputDialog("Digite un numero"));

if (numero%10 ==0 ){
JOptionPane.showMessageDialog(null,"El "+numero+" es multiplo de 10");
} else{
JOptionPane.showMessageDialog(null, "El "+numero+" NO es multiplo de 10");
}
}
}
Ejercicio 2: Pedir dos números y decir cual es mayor de los 2.
public static void main(String[] args) {
int numero1 = 0, numero2 = 0;
numero1 = Integer.parseInt(JOptionPane.showInputDialog("Digite el numero 1"));
numero2 = Integer.parseInt(JOptionPane.showInputDialog("Digite el numero 2"));

if (numero1 > numero2){


JOptionPane.showMessageDialog(null, "Numero "+numero1+" es mayor que "+numero2+"");
} else if (numero1 > numero2){
JOptionPane.showMessageDialog(null, "Numero "+numero2+" es mayor que "+numero1+"");
} else {
JOptionPane.showMessageDialog(null, "Los Numeros "+numero2+" y "+numero1+" son iguales");
}
}
}

Ejercicio 3: Programa que lea un caracter por teclado y compruebe si


es una letra mayuscula.

public static void main(String[] args) {

char letra;

letra = JOptionPane.showInputDialog("Digite un caracter").charAt(0);

if (Character.isUpperCase(letra)){ //Para que el programa verifique si es mayuscula


JOptionPane.showMessageDialog(null,"Esta letra es Mayuscula");
} else {
JOptionPane.showMessageDialog(null,"Esta letra es Minuscula");
}

}
}

Ejercicio 4: En megaplaza se hace un 20% de descuento a los clientes


cuya compra supere los $ 300, Cual sera la cantidad que pagara una
persona por su compra ?

public static void main(String[] args) {


float compra, descuento, total = 0f;

compra = Float.parseFloat(JOptionPane.showInputDialog("Cuando hizo su compra?: "));

if (compra >= 300){


descuento = compra * 0.20f;
total = compra - descuento ;
JOptionPane.showMessageDialog(null, "Aplica para descuento 20%, Total a pagar "+total);
} else {
total = compra;
JOptionPane.showMessageDialog(null,"No aplica para descuento, Total de su compra es: "+total);
}
}
}

Ejercicio 5: Un obrero necesita calcular su salario semanal, el cual


se obtiene de la siguiente manera:
*Si trabaja 40 horas o menos se le paga $ 16 por hora.
*Si trabaja más de 40 horas se le paga $16 por cada una
De las primeras 40 horas y $20 por cada hora extra.

public static void main(String[] args) {


float horasT,sueldo;

horasT = Float.parseFloat(JOptionPane.showInputDialog("Cuantas horas trabajo a la semana?: "));

if (horasT <= 40){


sueldo = horasT * 16;
JOptionPane.showMessageDialog(null, "Tu salario semanal es de: "+sueldo);
} else {
sueldo = (40*16) + (horasT%40 * 20);
JOptionPane.showMessageDialog(null, "Tu salario semanal es de: "+sueldo);
}
}
}

Ejercicio 6: hacer un programa que tome 2 numeros y diga si ambos


son pares o impares.
public static void main(String[] args) {
int numero1,numero2;

numero1 = Integer.parseInt(JOptionPane.showInputDialog("Digite un numero"));


numero2 = Integer.parseInt(JOptionPane.showInputDialog("Digite otro numero"));

if ((numero1%2 == 0) && (numero2%2 == 0)){


JOptionPane.showMessageDialog(null, "Ambos numeros son pares");
}
else if ((numero1%2 != 0) && (numero2%2 != 0)){
JOptionPane.showMessageDialog(null, "Ambos numeros son inpares");
}
else{
JOptionPane.showMessageDialog(null, "Uno es impar y el otro es par");
}

}
}
Ejercicio 7: Pedir tres números y mostrarlos ordenados de mayor a
menor.

Ejercicio 8: Pedir un numero entre 0 y 99 999 y decir cuántas cifras


tiene.

public static void main(String[] args) {


int numero;

numero = Integer.parseInt(JOptionPane.showInputDialog("Digita un numero"));

if (numero<10){
JOptionPane.showMessageDialog(null, "Este numero tiene 1 cifras");
} else if (numero<100){
JOptionPane.showMessageDialog(null, "Este numero tiene 2 cifras");
} else if (numero<1000){
JOptionPane.showMessageDialog(null, "Este numero tiene 3 cifras");
} else if (numero<10000){
JOptionPane.showMessageDialog(null, "Este numero tiene 4 cifras");
} else if (numero<100000){
JOptionPane.showMessageDialog(null, "Este numero tiene 5 cifras");
} else if (numero<1000000){
JOptionPane.showMessageDialog(null, "Este numero tiene 6 cifras");
}

}
}

Ejercicio 9: Pedir el dia, mes y año de una fecha e indicar si la fecha es correcta.
Suponiendo que todos los meses son de 30 dias.
/**
Ejercicio 9: Pedir el dia, mes y año de una fecha e indicar si la fecha es correcta.
Suponiendo que todos los meses son de 30 dias.

* @param args
*/
public static void main(String[] args) {
int dia,mes,ano;

dia = Integer.parseInt(JOptionPane.showInputDialog("Digite el dia"));


mes = Integer.parseInt(JOptionPane.showInputDialog("Digite el mes"));
ano = Integer.parseInt(JOptionPane.showInputDialog("Digite el año"));

if ((dia>=1)&&(dia<=30)){
if ((mes>=1)&&(mes<=12)){
if (ano != 0){
JOptionPane.showMessageDialog(null, "Fecha Correcta"+dia+"/"+mes+"/"+ano+"");
}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");
}
}
}

Ejercicio 11: Construir un programa que simule el funcionamiento de una


calculadora que puede realizar los cuatro operaciones aritmeticas basicas
(suma, resta, producto y division) con valores numericos enteros. El usuario
debe especificar la operacion con el primer caracter del
primer parametro de la linea de comandos.

S = Suma
R = Resta
M = Multiplicacion
D = Division
* @param args
*/
public static void main(String[] args) {
char letra;
int suma,resta,multiplicacion,division,numero1,numero2;

letra = JOptionPane.showInputDialog("Digita la letra de la operacion que quiere realizar: "


+ "Suma = S / Resta = R / Multiplicacion = M / Divison = D ").charAt(0);

switch (letra){
case 'S':
case 's': numero1 = Integer.parseInt(JOptionPane.showInputDialog("Digite un numero"));
numero2 = Integer.parseInt(JOptionPane.showInputDialog("Digite un numero"));

suma = numero1 + numero2;

JOptionPane.showMessageDialog(null, "La suma es: "+suma+"");


break;
case 'R':
case 'r': numero1 = Integer.parseInt(JOptionPane.showInputDialog("Digite un numero"));
numero2 = Integer.parseInt(JOptionPane.showInputDialog("Digite un numero"));

resta = numero1 - numero2;

JOptionPane.showMessageDialog(null, "La resta es: "+resta+"");


break;
case 'M':
case 'm': numero1 = Integer.parseInt(JOptionPane.showInputDialog("Digite un numero"));
numero2 = Integer.parseInt(JOptionPane.showInputDialog("Digite un numero"));

multiplicacion = numero1 + numero2;

JOptionPane.showMessageDialog(null, "La multiplicacion es: "+multiplicacion+"");


break;
case 'D':
case 'd': numero1 = Integer.parseInt(JOptionPane.showInputDialog("Digite un numero"));
numero2 = Integer.parseInt(JOptionPane.showInputDialog("Digite un numero"));

division = numero1 + numero2;

JOptionPane.showMessageDialog(null, "La division es: "+division+"");


break;
default: JOptionPane.showMessageDialog(null, "Este caracter no existe");
break;
}
}
}

/**

Ejercicio 12: Pedir una nota de 0 a 10 y mostrarla de la forma:


Insuficiente, suficiente, bien, notable y sobresaliente
* @param args
*/
public static void main(String[] args) {
int nota;

nota = Integer.parseInt(JOptionPane.showInputDialog("Digite la nota"));

switch (nota){
case 0:
case 1:
case 2:
case 3:
case 4:
case 5: JOptionPane.showMessageDialog(null, "Nota INSUFICIENTE: "+nota+"");
break;

case 6: JOptionPane.showMessageDialog(null, "Nota SUFICIENTE: "+nota+"");


break;
case 7: JOptionPane.showMessageDialog(null, "Nota BIEN: "+nota+"");
break;
case 8: JOptionPane.showMessageDialog(null, "Nota NOTABLE: "+nota+"");
break;
case 9: JOptionPane.showMessageDialog(null, "Nota SOBRESALIENTE: "+nota+"");
break;
case 10: JOptionPane.showMessageDialog(null, "Nota SOBRESALIENTE: "+nota+"");
break;
default: JOptionPane.showMessageDialog(null, "Esta nota no esta en el rango");
break;

}
}
}

Ejercicio 13: Hacer un programa que simule un cajero automatico


con un saldo inicial de 1000 dolares, con el siguiente menu de
opciones:
/**

Ejercicio 13: Hacer un programa que simule un cajero automatico


con un saldo inicial de 1000 dolares, con el siguiente menu de opciones:

1. Ingresar dinero a la cuenta.


2. Retirar dinero de la cuenta
3. salir

* @param args
*/
public static void main(String[] args) {
public static void main(String[] args) {
int cajero, cuenta=1000,retiro,deposito;
do{
cajero = Integer.parseInt(JOptionPane.showInputDialog("Bienvenido al Cajero Automatico \n\n"

+ "1-Depositar \n "
+ "2-Retirar Dinero \n "
+ "3-Consultar Balance \n"
+ "4-Salir \n\n"));

switch (cajero){
case 1: deposito = Integer.parseInt(JOptionPane.showInputDialog("Cuanto desea depositar?"));
cuenta += deposito;
JOptionPane.showMessageDialog(null,"Balance "+cuenta+"");
break;
case 2: retiro = Integer.parseInt(JOptionPane.showInputDialog("Cuanto desea retirar?"));

if (retiro>cuenta){
JOptionPane.showMessageDialog(null, "No cuenta con suficiente balance");
}else{
cuenta -= retiro;
JOptionPane.showMessageDialog(null,"Balance "+cuenta+"");
}
break;
case 3: JOptionPane.showMessageDialog(null, "Su Balance es: "+cuenta+"");
case 4: break;

default: JOptionPane.showMessageDialog(null, "Esta opcion no es valida");


break;

}
}while (cajero != '4');
}
}
Ejercicio 14: Hacer un programa que pase de Kg a otra unidad de medida de
masa, mostrar en pantalla un menú con las opciones posibles.
/**

Ejercicio 14: Hacer un programa que pase de Kg a otra unidad de medida de masa,
* mostrar en pantalla un menu con las opciones posibles.

* @param args
*/
public static void main(String[] args) {
float kg,lb=2.2f,oz=35.27f,tone=0.001f;
int opcion;

kg = Float.parseFloat(JOptionPane.showInputDialog("Ingrese la cantidad de Kilogramo (kg) \n"));


opcion = Integer.parseInt(JOptionPane.showInputDialog("Convertir KG a? : \n\n"
+ "1-Libra\n"
+ "2-Onza\n"
+ "3-Toneladas\n"
+ "4-Salir\n\n"));

switch (opcion){
case 1: lb *= kg;
JOptionPane.showMessageDialog(null, "Kilogramos: "+kg+" por "
+ " Libras 2.2: \n\nResultado: "+lb+" Lb" );
break;
case 2: oz *= kg;
JOptionPane.showMessageDialog(null, "Kilogramos: "+kg+" por "
+ " Oznas 35.27: \n\nResultado: "+oz+" oz" );
break;
case 3: tone *= kg;
JOptionPane.showMessageDialog(null, "Kilogramos: "+kg+" por "
+ " Toneladas 0.001: \n\nResultado: "+tone+" t" );
break;
case 4: break;
default: JOptionPane.showMessageDialog(null, "No tenemos esa conversion");

}
}
Bloque 4: Bucles
While valida la condicion y luego la instrucción

while (numero>0){
System.out.println(numero);
numero = numero - 1;

Do While: primero realiza la instruccion y luego valida


int i=1;

do{
System.out.println(i);
i+=1;

}while(i<=100);
¿????????????????????????? OTRO EJEMPLO ????????????????????????????

public static void main(String[] args) {


Scanner entrada = new Scanner (System.in);
int i=0,contador;

System.out.println("Digite el numero que desea que se repita: ");


contador = entrada.nextInt();

do{
System.out.println(i);
i++;

}while(i<=contador);

}
}
CICLO FOR

public static void main(String[] args) {


Scanner entrada = new Scanner (System.in);
int contador;

System.out.println("Hasta que numero");


contador = entrada.nextInt();

Inicializar condicion incremento o decremento


for ( int i=0 ; i<=contador ; i += 2){

System.out.println(i);
}
}
}

Ejericio 4x1 :
public static void main(String[] args) {
Scanner entrada = new Scanner (System.in);
int numero,cuadrado;

numero = Integer.parseInt(JOptionPane.showInputDialog("Digite un numero para sacar su


cuadrado\n"));
while (numero>=0){
cuadrado = (int)Math.pow(numero, 2);
JOptionPane.showMessageDialog(null,"El cuadro de "+numero+" es "+cuadrado+"");
numero = Integer.parseInt(JOptionPane.showInputDialog("Digite un numero para sacar su
cuadrado\n"));
}JOptionPane.showMessageDialog(null,"Digito un numero negativo");
}
}

Ejercicio 4x3: Leer un numero e indicar si es positivo o


negativo. el proceso se repetira hasta que se introduzca un 0.
public static void main(String[] args) {
int numero=1;

while (numero!=0){
numero = Integer.parseInt(JOptionPane.showInputDialog("Digite un numero:"));
if (numero>0){
JOptionPane.showMessageDialog(null, "Este numero "+numero+" es positivo");
} else if (numero<0) {
JOptionPane.showMessageDialog(null, "Este numero "+numero+" es negativo");
}
} JOptionPane.showMessageDialog(null, "Digito un 0");
}
}

Ejercicio 4x3: Leer numeros hasta que se introduzca un 0. Para


cada uno indicar si es par p impar.
public static void main(String[] args) {
int numero=1;

while (numero!=0){
numero = Integer.parseInt(JOptionPane.showInputDialog("Digite un numero:"));
if (numero!=0 && numero%2==0){
JOptionPane.showMessageDialog(null, "Este numero "+numero+" es par");
} else if (numero!=0 && numero%2!=0) {
JOptionPane.showMessageDialog(null, "Este numero "+numero+" es inpar");
}
} JOptionPane.showMessageDialog(null, "Digito un 0");
}
}

Ejercicio 4x4: Pedir números hasta que se teclee uno negativo


y mostrar cuantos números se han introducido.

public static void main(String[] args) {


int numero=1,contador=0;

do {
numero = Integer.parseInt(JOptionPane.showInputDialog("Digite un numero"));
JOptionPane.showMessageDialog(null, "Numero "+numero+"");
contador++;
} while (numero>0);
JOptionPane.showMessageDialog(null,"Digito un numero negativo que es: "+numero+"\n\n"
+ "Ha digitado en total "+contador+" numeros\n");
}
}

Ejercicio 4x5: REalizar un juego para adivinar un numero. Para


ello generar un numero aleatorio entre 0-100, y luego ir
pidiendo numeros indicando "es mayor" o "es menor" segun
sea mayoro menor con respecto a N. el proceso termina
cuando el usuario acierta y mostrar el numero de intentos.

public static void main(String[] args) {


int numero,contador = 0,elegido;

elegido = (int)(Math.random()*100); //int entre parenthesis para convertir math.random en tipo


entero y *100 para que me arroge numerous como 10,15,55 etc.
System.out.println(elegido);
do{
numero = Integer.parseInt(JOptionPane.showInputDialog(" FRIO o CALIENTE\n\n"
+ "Digite un numero: "));
contador++;
if (elegido>numero){
JOptionPane.showMessageDialog(null, "Digite un numero mayor");
} else if (elegido<numero){
JOptionPane.showMessageDialog(null, "Digite un numero menor");
}
}while (numero != elegido);
JOptionPane.showMessageDialog(null, "Felicidades!! Adivinaste\n\n"
+ "Numeros de Intentos "+contador+"");

}
}
Ejercicio 4x6: Pedir numeros hasta que se teclee un 0 mostrar
la suma de todos los numeros introducidos.
public static void main(String[] args) {
int numero,contador = 0;

do{
numero = Integer.parseInt(JOptionPane.showInputDialog("Digite un numero"));
contador += numero;

}while(numero != 0);

JOptionPane.showMessageDialog(null, "Suma de numeros digitados: "+contador+"");


}
}

Ejercicio 4x7: Pedir números hasta que se introduzca uno


negativo y calcular la media.

public static void main(String[] args) {


int numero,contador = 0,suma = 0;
float media;

do{
numero = Integer.parseInt(JOptionPane.showInputDialog("Digite un numero"));
contador++;
suma += numero;
System.out.println(contador);
}while(numero > 0);

if (numero ==0) {
JOptionPane.showMessageDialog(null,"No se puede dividir entre 0");
}else{

media = (float)suma / contador;


JOptionPane.showMessageDialog(null, "Suma de numeros digitados: "+suma+"\n\n"
+ "Media de numeros digitados "+media+"\n");
}
}
}

Ejercicio 4x8: Pedir un numero N, y mostrar todos los numeros


del 1 al N.

public static void main(String[] args) {


int n =0, numero,contador=0;

numero = Integer.parseInt(JOptionPane.showInputDialog("Digite un numero"));

do{
n++;
System.out.println(n);
} while (n!=numero);
}
}

Ejercicio 4x9: Escribir todos los numeros del 100 al 0 de 7 en 7.


public static void main(String[] args) {
int numero=100;

while(numero>0){
System.out.println(numero);
numero-=7;

}
System.out.println("0");
}
}

Ejercicio 4x10: Pedir 10 números y escribir la suma total.


public static void main(String[] args) {
int contador=0, numero, suma=0;

do{
numero = Integer.parseInt(JOptionPane.showInputDialog("Digite un numero"));
suma += numero;
contador++;

} while (contador != 10);

JOptionPane.showMessageDialog(null,"Suma Total de los 10 numeros: "+suma);


}
}

Ejercicio 4x11: Diseñar un programa que muestre el producto


de los 10 primeros numeros impares.
public static void main(String[] args) {
int producto=1;
for (int i=1 ; i<=20 ; i+=2){ //Se inicializo con 1 por que todo numero multiplicado por 0 da 0.
producto *= i;

System.out.println("El producto es: "+producto);


}
}

Ejercicio 4x12: Pedir un numero y calcular su factorial.

N! = 1*2*3 ... *N

public static void main(String[] args) {


int numero;
long factorial = 1;

numero = Integer.parseInt(JOptionPane.showInputDialog("Digite un numero"));

for (int i=1 ; i<=numero ; i++) {


factorial = factorial * i;
}

JOptionPane.showMessageDialog(null, "El factorial de numeros digitados es: "+factorial);


}
}

Ejercicio 4x13: Pedir 10 numeros. Mostrar la media de los


numeros positivos, la media de los números negativos y la
cantidad de ceros.

public static void main(String[] args) {


int numero,sumaP = 0,sumaI = 0, sumaO = 0, contadorP = 0, contadorN = 0;
float resultadoP, resultadoN;
for (int i=1 ; i <= 10 ; i++){
numero = Integer.parseInt(JOptionPane.showInputDialog("Digite 10 numeros"));
if (numero>0){
sumaP += numero;
contadorP++;
} else if (numero<0){
sumaI += numero;
contadorN++;
}
if (numero == 0){
sumaO+=1;
System.out.println(sumaO);
}
}
resultadoP = (float) sumaP / contadorP;
resultadoN = (float) sumaI / contadorN;

JOptionPane.showMessageDialog(null, "La media de numeros pares es "+resultadoP+"");


JOptionPane.showMessageDialog(null, "La media de numeros Impares es "+resultadoN+"");
JOptionPane.showMessageDialog(null, "Cantidad de 0 digitados: "+sumaO+"");
}
}

Ejercicio 4x14: Pedir 10 sueldos. mostrar su suma y cuantos


hay de mayores de $ 1000.

public static void main(String[] args) {


int contador = 0, suma = 0;
float sueldo;

for (int i=1 ; i <= 10 ; i++){


sueldo = Float.parseFloat(JOptionPane.showInputDialog("Digite 10 sueldos"));
suma += sueldo;
if (sueldo>1000){
contador++;

}
}

JOptionPane.showMessageDialog(null, "La suma de los 10 sueldos es: "


+ ""+suma+" \n\n"
+ "Hay "+contador+" sueldo (s) mayor (es) de USD $ 1000");
}
}

Ejercicio 4x15: Dadas las edades y alturas de 5 alumnos,


mostrar la edad y la estatura media, la cantidad de alumnos
mayores de 18 años, y la cantidad de alumnos que miden mas
de 1.75.

public static void main(String[] args) {


int edad,edadMedia,sumaE = 0,edadMayor = 0;
float estatura, estaturaMedia, sumaEst = 0, estaturaMayor = 0;

for (int i=1 ; i<=5 ; i++) {


edad = Integer.parseInt(JOptionPane.showInputDialog("Estudiante "+i+" \n\nDigite la edad"));
estatura = Float.parseFloat(JOptionPane.showInputDialog("Estudiante "+i+" \n\n Digite la
estatura"));
sumaE += edad;
sumaEst += estatura;
if (edad>=18){
edadMayor++;
} else if (estatura>1.75){
estaturaMayor++;
}

}
edadMedia = sumaE / 5;
estaturaMedia = sumaEst / 5;

JOptionPane.showMessageDialog(null, "La edad media es: "+edadMedia+" \n"


+ "y la estatura media es: "+estaturaMedia+"\n\n"
+ "Cantidad de alumnos mayores: "+edadMayor+"\n"
+ "Cantidad de alumnos que miden mas de 1.75 : "+estaturaMayor+"");

}
}

Ejercicio 16: Pide un número (que debe estar entre 0 y 10) y


mostrar la tabla de multiplicar dicho número.
public static void main(String[] args) {
int numero, tabla =0;

numero = Integer.parseInt(JOptionPane.showInputDialog("Tabla de Multiplicar del 1 al 10\n\n"


+ "Elige el numero de la tabla que quieres."));
if (numero>10){
JOptionPane.showMessageDialog(null, "Esa tabla no existe en este programa");
} else if (numero <= 10){
System.out.println("La tabla del numero "+numero+" es: \n");
for (int i=1 ; i<=12 ; i++){
tabla =numero * i;
System.out.println(" "+numero+" * "+i+" = "+tabla+" ");

}
}
}
}

Ejercicio 17: Una empresa que se dedica a la venta de


desinfectantes necesita un programa para gestionar las
facturas En cada factura figura: El código del artículo, la
cantidad vendida en litros y el precio por litro. Se pide de 5
facturas introducidas: Facturación total, cantidad en litros
vendidos del artículo 1 y cuantas facturas se emitieron de más
de $600.

public static void main(String[] args) {


int codigo,litros,contador;
float facturacionT = 0,litrosV = 0,totalPagar = 0, mayorV = 0, precioL;
for (int i=1;i<=5;i++){
codigo = Integer.parseInt(JOptionPane.showInputDialog("Articulo "+i+"\nDigite el codigo del
producto:"));
litros = Integer.parseInt(JOptionPane.showInputDialog("Articulo "+i+"\nDigite la cantidad de litros a
vender:"));
precioL = Integer.parseInt(JOptionPane.showInputDialog("Articulo "+i+"\nDigite la precio de litros a
vender:"));
if (codigo==1){
litrosV += litros;

}
if (totalPagar>600){
mayorV++;
}
totalPagar = litros * precioL;

JOptionPane.showMessageDialog(null,"Codigo: "+codigo+"\n"
+ "Litros (L): "+litros+"\n"
+ "Total a pagar: "+totalPagar+"\n");
facturacionT += totalPagar;

JOptionPane.showMessageDialog(null, "Cierre de dia\n\n"


+ "Facturacion Total: "+facturacionT+"\n"
+ "Litros vendidos del articulo 1: "+litrosV+"\n"
+ "Articulos Vendidos a mas de USD $ 600: "+mayorV+"" );

}
}

Ejercicio 18: Hacer unas modificaciones al ejercicio anterior


suponiendo que no se introduce el precio por litro. Solo
existen tres productos con precios:
1- 0,6 $/Litro
2- 3 $/Litro
3- 1,25$/Litro

public static void main(String[] args) {


int codigo,contador;
float facturacionT = 0,litrosV = 0,totalPagar = 0, mayorV = 0, precioL,litros = 0;
for (int i=1;i<=5;i++){

do{codigo = Integer.parseInt(JOptionPane.showInputDialog("Articulo "+i+"\nDigite el codigo del


producto:"));
if ((codigo <1 || codigo>3)){
JOptionPane.showMessageDialog(null, "Este codigo no existe");
}
}while(codigo <1 || codigo>3);
litros = Integer.parseInt(JOptionPane.showInputDialog("Articulo "+i+"\nDigite la cantidad de litros a
vender:"));
switch (codigo){
case 1: litrosV += litros; totalPagar = litros * 0.6f;
case 2:totalPagar = litros * 3f;
case 3: totalPagar = litros * 1.25f;
}
if (totalPagar>600){
mayorV++;
}

facturacionT += totalPagar;

JOptionPane.showMessageDialog(null,"Codigo: "+codigo+"\n"
+ "Litros (L): "+litros+"\n"
+ "Total a pagar: "+totalPagar+"\n");
}

JOptionPane.showMessageDialog(null, "Cierre de dia\n\n"


+ "Facturacion Total: "+facturacionT+"\n"
+ "Litros vendidos del articulo 1: "+litrosV+"\n"
+ "Articulos Vendidos a mas de USD $ 600: "+mayorV+"" );
}
}

Ejercicio 19: Dadas 6 notas, escribir la cantidad de alumnos


aprobados, condicionados (=4) y suspensos.
public static void main(String[] args) {
int nota,alumnosA=0,alumnosC = 0,alumnosR=0;

for (int i=1 ; i<=6 ; i++){


do{
nota = Integer.parseInt(JOptionPane.showInputDialog("Alumno "+i+"\n Digite la nota entre 0-10 "));
if (nota<0 || nota>=10){
JOptionPane.showMessageDialog(null, "El rango de notas en de 0-10");
}
} while (nota<0 || nota>=10);
if(nota==4){
alumnosC++;
}
else if(nota<4){
alumnosR++;
}
else if(nota>=5){
alumnosA++;
}

}JOptionPane.showMessageDialog(null, "Alumnos Aprobados: "+alumnosA+"\n"


+ "Alumnos Condicionados: "+alumnosC+"\n"
+ "Alumnos Reprobados: "+alumnosR+"");
}
}

Ejercicio 20: Pedir un numero N, introducir N sueldos, y


mostrar el sueldo máximo.

public static void main(String[] args) {


int numeroS;
float sueldo = 0,sueldoM=0;

numeroS = Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de sueldos que desea


introducir"));
for (int i=1;i<=numeroS;i++){
sueldo = Float.parseFloat(JOptionPane.showInputDialog("Digete los sueldos"));
if (sueldo > sueldoM){
sueldoM = sueldo;
}
}
JOptionPane.showMessageDialog(null, "El sueldo maximo es: "+sueldoM+"");

}
}

Ejercicio 21: Pedir 10 números, y mostrar al final si se ha


introducido alguno negativo.

public static void main(String[] args) {


int numero,Nnegativos = 0;
boolean negativos=false;
for (int i=1;i<11;i++){

numero = Integer.parseInt(JOptionPane.showInputDialog("Digite el numero "+i+""));


if (numero<0){
negativos=true;
Nnegativos++;
}

} if (negativos==true){
JOptionPane.showMessageDialog(null, "Se ha introducido numeros negativos "+Nnegativos+" ");
}
else
{
JOptionPane.showMessageDialog(null, "No se ha introducido numeros negativos ");
}

}
}

Ejercicio 22: Pedir 5 calificaciones de alumnos y decir al final si


hay algún reprobado.

public static void main(String[] args) {


int nota,Areprobados = 0;
boolean reprobados=false;

for (int i=1;i<=5;i++){


do{nota = Integer.parseInt(JOptionPane.showInputDialog("Alumno "+i+"\n"
+ "Digite la calificacion de 0-10"));
if (nota<0 || nota>=10){
JOptionPane.showMessageDialog(null, "El rango de notas en de 0-10");
}

}while (nota==0 || nota>10);

if (nota<4){
reprobados=true;
Areprobados++;
}

} if (reprobados==true){
JOptionPane.showMessageDialog(null, "Hay alumnos reprobados: "+Areprobados+" ");
}
else
{
JOptionPane.showMessageDialog(null, "No hay alumnos reprobados ");
}

}
}

Bloque 5: Arreglos

En un arreglo la posición comienza en 0. Ejemplo

Int[] números = new int [3];

012

Si quieres poner tus valores lo puedes hacer asi:


Números[0 ]=5;
Números[1]=7;
Números[2 ]=9;

Tambien se puede hacer asi: int [] números = {5,7,9};

public static void main(String[] args) {


Scanner entrada = new Scanner (System.in);
int Nelementos;

Nelementos = Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de elementos del


arreglo "));

char [] letras = new char [Nelementos];


System.out.println("Digete los caracteres");
for(int i=0;i<Nelementos;i++){
System.out.print((i+1)+".Digite un caracter: ");
letras [i] = entrada.next().charAt(0);
}

System.out.println("\nEstos son los caracteres");


for(int i=0;i<Nelementos;i++){
System.out.print(letras[i]+" ");
}
}
}
Imprimir si no se me la cantidad de dimensiones que tiene mi
arreglo.
public static void main(String[] args) {
Scanner entrada = new Scanner (System.in);
String [] nombres = {"Rafael","Jose","Maria","Manuel"};

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


System.out.println(nombres[i]);
}
}
}

Bucle for each

public static void main(String[] args) {


Scanner entrada = new Scanner (System.in);
String [] nombres = {"Rafael","Jose","Maria","Manuel"};

for (String i:nombres){


System.out.println("Nombres: "+i);
}
}
}
Ejercicio 5x1: Leer 5 numeros, guardarlos en un arreglo y
mostrarlos en el mismo orden introducido.
public static void main(String[] args) {
Scanner entrada = new Scanner (System.in);
int [] numero = new int [5];

for (int i=0;i<5;i++){


System.out.print((i+1)+". Digete los numeros: ");
numero [i] = entrada.nextInt();
}

For (int i:numero){


System.out.print(i);
}

}
}
}

Ejercicio 5x2: Leer 5 numeros, guardarlos en un arreglo y


mostrarlos en el orden inverso al introducirlo.

public static void main(String[] args) {


Scanner entrada = new Scanner (System.in);
int [] numero = new int [5];

for (int i=0;i<5;i++){


System.out.print((i+1)+". Digete los numeros: ");
numero [i] = entrada.nextInt();
}

System.out.println("\nOrden inverso de numeros");


for(int i=4;i>=0;i--){
System.out.println(numero [i]+” ”);

}
}
}

Ejercicio 5x3: Leer 5 numeros por teclado,almacenarlos en un


arreglo y a continuacion realizar la media los numeros
positivos, la media de los negativos y contar el numero de
ceros.

public static void main(String[] args) {


Scanner entrada = new Scanner (System.in);
int positivo = 0,negativo = 0,cero = 0,cpositivo=0,cnegativo=0,rpositivo=0,rnegativo=0;
boolean scero=false;
int [] numero = new int [5];

System.out.println("Digite los 5 elementos");


for(int i=0;i<5;i++){
System.out.print((i+1)+".- ");
numero [i] = entrada.nextInt();
}

System.out.println("\nEstos son los elementos del arreglo: ");


for(int i=0;i<5;i++){
System.out.print(numero[i]+" ");
if (numero[i]>0){
positivo+=numero[i];
cpositivo++;
} else if (numero[i]<0){
negativo+=numero[i];
cnegativo++;
} else {
scero = true;
cero++;
}

System.out.println("\n\nResultado arreglo");

if (cpositivo==0){
System.out.print("\nNo hay numeros positivos que sacar media");
} else {
rpositivo = positivo / cpositivo;
System.out.print("\nLa media de los numeros positivos es: "+rpositivo+"");
}

if (cnegativo==0){
System.out.println("\nNo hay numeros negativos que sacar media");
} else {
rnegativo = negativo / cnegativo;
System.out.print("\nLa media de los numeros negativos es: "+rnegativo+"");
}
if (cero==0){
System.out.print("\nNo hay numeros 0 digitados");
} else {
System.out.print("\nNumero negativos digitados: "+cero);
}

System.out.print("\n");
}
}
Ejercicio 5x4: Leer 10 numeros enteros, guardarlos en un
arreglo. Debemos mostrarlos en el siguiente orden: el
primero, el ultimo, el segundo, el penultimo, el tercero,etc.

public static void main(String[] args) {


Scanner entrada = new Scanner (System.in);
int [] numero = new int [10];

System.out.println("Digite los elementos del arreglo: ");


for(int i=0;i<10;i++){
System.out.print((i+1)+". - ");
numero [i] = entrada.nextInt();
}

System.out.println("Resultados del arreglo: ");


for(int i=0;i<5;i++){
System.out.print(numero[i]+" ");
System.out.print(numero [9-i]+" ");
}
System.out.println("\n");
}
}

Ejercicio 5x5: Leer por teclado dos tablas de 10 números


enteros y mezclarlas en una tercera de forma: el 1 de A, el 1
de B, el 2 de A, el 2 de B, etc.

public static void main(String[] args) {


Scanner entrada = new Scanner (System.in);
int [] a = new int [10];
int [] b = new int [10];
int [] c = new int [20];

System.out.println("\nDigite los elementos del arreglo A: ");


for(int i=0;i<10;i++){
System.out.print((i+1)+". -");
a [i]= entrada.nextInt();
}
System.out.println("\nDigite los elementos del arreglo B: ");
for(int i=0;i<10;i++){
System.out.print((i+1)+". -");
b [i]= entrada.nextInt();
}

int j=0;

for(int i=0;i<10;i++){
c [j] = a [i];
j++;
c [j] = b [i];
j++;
}
System.out.println("\n El tercer arrelgo es:");
for(int i=0;i<20;i++){
System.out.print(c[i]+" ");
}

System.out.println("\n");
}
}
Ejercicio 5x6: Leer los datos correspondiente a dos tablas de
12 elementos numericos, y mezclarlos en una tercera de la
forma: 3 de tabla A, 3 de la tabla B,otros 3 de A, otros 3 de la
B,etc.

public static void main(String[] args) {


Scanner entrada = new Scanner (System.in);
int [] a = new int [12];
int [] b = new int [12];
int [] c = new int [24];

System.out.println("Digite los elementos del arreglo A: ");


for(int i=0;i<12;i++){
System.out.print((i+1)+".-");
a [i] = entrada.nextInt();
}
System.out.println("\nDigite los elementos del arreglo B: ");
for(int i=0;i<12;i++){
System.out.print((i+1)+".-");
b [i] = entrada.nextInt();
}

int i=0;
int j=0;
while (i<12){
for(int k=0;k<3;k++){
c [j] = a [i+k];
j++;
}
for(int k=0;k<3;k++){
c [j] = b [i+k];
j++;
}

i+=3;
}

System.out.println("\nEste es el arreglo C:");


for(i=0;i<24;i++){
System.out.print(c[i]+" ");
}
System.out.println("\n");
}
}

Ejercicio 5x7: 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 si están
desornedos.
public static void main(String[] args) {
Scanner entrada = new Scanner (System.in);
int [] numero = new int [10];
boolean creciente=false, decreciente=false;

System.out.println("Digite los elementos del arreglo: ");


for (int i=0;i<10;i++){
System.out.print((i+1)+".-");
numero [i]= entrada.nextInt();
}

for (int i=0;i<9;i++){


if (numero[i]<numero[i+1]){
creciente = true;
}
else if (numero [i]>numero[i+1] ){
decreciente = true;
} else if (numero[i]== numero[i+1]){
creciente=false;
}
}
System.out.println("\nResultado del arreglo ");
for (int i=0;i<10;i++){
System.out.print(numero[i]+" ");
}
if (creciente==true && decreciente==false){
System.out.print("\nLos numeros estan en orden creciente");
} else if (decreciente==true && creciente==false){
System.out.println("\nLos numeros estan en orden decreciente");
} else if (creciente==true && decreciente==true){
System.out.println("\nLos numeros estan desordenados");
} else if (creciente==false && decreciente==false){
System.out.println("\nTodos los numeros son iguales");
}

System.out.println("\n");
}
}
Ejercicio 5x8: Diseñar una aplicación que declare una tabla de
10 elementos enteros. Leer mediante el teclado 8 números.
Después se debe pedir un número y una posición, insertarlo
en la posición indicada, desplazando los que estén detrás.

Scanner entrada = new Scanner (System.in);


int [] arreglo = new int [10];

System.out.println("Digite los elementos del arreglo");


for (int i = 0; i < 8; i++) {
System.out.print((i+1)+".-");
arreglo [i] = entrada.nextInt();
}

int posicion=0,numero=0;

System.out.print("\nDigite una posicion: ");


posicion = entrada.nextInt();
System.out.print("\nDigite un numero: ");
numero = entrada.nextInt();

for (int i=7;i>=posicion;i--){


arreglo [i+1] = arreglo [i];
}

arreglo [posicion] = numero;


for (int i=0;i<9;i++){
System.out.print(arreglo[i]+" ");
}

System.out.println("\n");
}
}Ejercicio 9: Crear un programa que lea por teclado una tabla
de 10 números enteros y la desplace una posición hacia abajo:
el primero pasa a ser el segundo, el segundo pasa a ser el
tercero y así sucesivamente. El ultimo pasa a ser el primero.

public static void main(String[] args) {


Scanner entrada = new Scanner (System.in);
int [] arreglo = new int [10];

System.out.println("Digite los elementos del arreglo:");


for (int i = 0; i < 10; i++) {
System.out.print((i+1)+".-");
arreglo [i] = entrada.nextInt();
}
int ultimo=0;

ultimo = arreglo [9];


for (int i=8;i>=0;i--){
arreglo [i+1] = arreglo [i] ;
}

arreglo [0] = ultimo;

System.out.println("\nResultados del arreglo: ");


for (int i = 0; i < 10; i++) {
System.out.print(arreglo[i]+" ");

System.out.println("\n");
}
}
Ejercicio 5x10: Crear un programa que lea por teclado una
tabla de 10 números enteros y desplace N posiciones en el
arreglo (N es digitado por el usuario).
public static void main(String[] args) {
Scanner entrada = new Scanner (System.in);
int [] arreglo = new int [10];
int ultimo = 0,N;

System.out.println("Digite los elementos del arreglo: ");


for(int i=0;i<10;i++){
System.out.print((i+1)+". -");
arreglo [i] = entrada.nextInt();
}
System.out.println("\nDigite el numero de posicion que desea desplazar:");
N = entrada.nextInt();

for (int vueltas=1;vueltas<N;vueltas++){


ultimo =arreglo[9];
for(int i=8;i>=0;i--){
arreglo [i+1] = arreglo [i];
}
arreglo [0] = ultimo;
}

System.out.println("\nNuevo arreglo:");
for(int i=0;i<10;i++){
System.out.print(arreglo[i]+" ");
}
System.out.println("\n");
}
}

Ejercicio 5x11: Leer 5 elementos números que se introducirán


ordenados de forma creciente. Estos los guardaremos en una
tabla de tamaño 10. Leer un numero N, e insertarlo en el lugar
adecuado para que la tabla continúe ordenada.
public static void main(String[] args) {
Scanner entrada = new Scanner (System.in);
int [] arreglo = new int [10];
boolean creciente=true;

System.out.println("Digite los elementos del arreglo: ");


do{
for (int i=0;i<5;i++){
System.out.print((i+1)+".-");
arreglo [i] = entrada.nextInt();
}
for (int i=0;i<4;i++){
if (arreglo[i]<arreglo[i+1]){
creciente=true;
}else if (arreglo[i]>arreglo[i+1]){
creciente=false;
break;
}
}
if(creciente==false){
System.out.println("Los elementos no estan en forma creciente ");
}
}while(creciente==false);

int numero,sitio = 0,j=0;

System.out.print("\nDigite un numero a insertar: ");


numero = entrada.nextInt();

while(arreglo[j]<numero && j<5){


sitio++;
j++;
}
for (int i = 4; i >=sitio; i--) {
arreglo [i+1] = arreglo [i];
}
arreglo[sitio] = numero;

System.out.println("\nResultados del arreglo:");


for (int i=0;i<6;i++){
System.out.print(arreglo[i]+" ");
}
System.out.println();
}
}

Ejercicio 12: Leer por teclado una tabla de 10 elementos


numericos enteros y una posicion (entre 0 y 9). Eliminar el
elemento situado en la posicion dada sin dejar huecos.

public static void main(String[] args) {


Scanner entrada = new Scanner (System.in);
int [] arreglo = new int [10];
System.out.println("Digite los elementos del arreglo: ");
for (int i=0;i<10;i++){
System.out.print((i+1)+".-");
arreglo [i] = entrada.nextInt();
}
int posicion=0;
do{
System.out.println("\nDigite una posicion a eliminar");
posicion = entrada.nextInt();

}while((posicion<0) || (posicion>9));

for(int i=posicion;i<9;i++){
arreglo [i] = arreglo [i+1];
}

System.out.println("\nResultado del arreglo: ");


for (int i = 0; i < 9; i++) {
System.out.print(arreglo[i]+" ");

}
System.out.println();
}
}

Ejercicio 13: Leer 10 enteros en una tabla. Guardar en otra


tabla los elementos pares de la primera, y a continuación los
elementos impares.

public static void main(String[] args) {


Scanner entrada = new Scanner (System.in);

int [] arreglo = new int [10];


int [] pares = new int [10];
int [] inpares = new int [10];

System.out.println("Digete los elementos del arreglo: ");


for (int i = 0; i < 10; i++) {
System.out.print((i+1)+".-");
arreglo[i] = entrada.nextInt();
}

int j=0;
int cpares=0,cinpares=0;
for (int i = 0; i < 10; i++) {
if (arreglo[i]%2 == 0){
pares [cpares] = arreglo [i];
cpares++;
}
else if (arreglo[i]%2 != 0){
inpares [cinpares] = arreglo [i];
cinpares++;
}
}

System.out.println("\nResultado del arreglo");


System.out.println("\nNumeros pares");
if (cpares>0){
for (int i=0;i<cpares;i++) {
System.out.print(pares[i]+" ");
}
}else if (cpares == 0){
System.out.print("\nNo hay numeros pares");
}
System.out.println("\nNumeros inpares");
if (cinpares>0){
for(int i=0;i<cinpares;i++){
System.out.print(inpares[i]+" ");
}
} else if (cinpares == 0){
System.out.print("\nNo hay numeros inpares");
}

System.out.println();

}
}

Ejercicio 14: Leer dos series de 10 enteros, que estarán


ordenados crecientemente. Copiar (fusionar) las dos tablas en
una tercera, de forma que sigan ordenados.

public static void main(String[] args) {


Scanner entrada = new Scanner (System.in);

int [] primer = new int [10];


int [] segundo = new int [10];
int [] tercera = new int [20];
boolean creciente=true;
//Primer Arreglo
do{
System.out.println("Digite los elementos del primer arreglo: ");
for (int i=0;i<10;i++){
System.out.print((i+1)+".-");
primer [i] = entrada.nextInt();
}
int j=0;
if (primer [j]< primer[j+1]){ //Comprobamos si es creciente o no.
creciente=true;
} else {
creciente=false;
System.out.println("\nLos elementos no estan en orden creciente\n");
}
}while(creciente==false);

//Segundo Arreglo.
do{
System.out.println("\nDigite los elementos del segundo arreglo: ");
for (int i=0;i<10;i++){
System.out.print((i+1)+".-");
segundo [i] = entrada.nextInt();
}
int j=0;
if (segundo [j]< segundo[j+1]){ //Comprobamos si es creciente o no.
creciente=true;
} else {
creciente=false;
System.out.println("\nLos elementos no estan en orden creciente\n");
}
}while(creciente==false);
int q=0; //Primero
int w=0; //Segundo
int e=0; //Tercero

while (q<10 && w<10){


if(primer[q] < segundo [w]){
tercera[e] = primer[q];
q++;
} else{
tercera [e] = segundo [w];
w++;
}
e++;
}
if (q==10){
while(w<10){
tercera [e] = segundo [w];
w++;
e++;
}

} else { while(q<10){
tercera [e] = primer [q];
q++;
e++;
}
}

System.out.println("\nResultado del tercer arreglo:");


for(int i=0;i<20;i++){
System.out.print(tercera[i]+" ");
}

System.out.println();
}
}

Ejercicio 15: Leer 10 enteros ordenados crecientemente. Leer


N y buscarlo en la tabla. Se debe mostrar la posicionen que se
encuentra. Si no está, indicarlo con un mensaje.

public static void main(String[] args) {


Scanner entrada = new Scanner (System.in);

int [] arreglo = new int [10];


boolean creciente=true;
//Primer Arreglo
do{
System.out.println("Digite los elementos del primer arreglo: ");
for (int i=0;i<10;i++){
System.out.print((i+1)+".-");
arreglo [i] = entrada.nextInt();
}
int j=0;
if (arreglo [j]< arreglo[j+1]){ //Comprobamos si es creciente o no.
creciente=true;
} else {
creciente=false;
System.out.println("\nLos elementos no estan en orden creciente\n");
}
}while(creciente==false);

int numero,posicion=0;
boolean encontro=false;

System.out.println("\nDigite el numero que desea buscar");


numero = entrada.nextInt();

for(int i=0;i<10;i++){
if(arreglo [i] == numero){
posicion = (i+1);
encontro = true;

} else if(arreglo[i] != numero){


encontro = false;
}
}

if (encontro==true){
System.out.println("\n Esta en la posicion: "+posicion+"");
} else {
System.out.println("\nNo se encontro el numero: "+numero+"");
}

System.out.println();
}
}

Ejercicio 16: Queremos desarrollar una aplicación que nos


ayude a gestionar las notas de un centro educativo. Cada
grupo (o clase) está compuesto por 5 alumnos. Se pide leer las
notas del primer, segundo y tercer trimestre de un grupo.
Debemos mostrar al final: la nota media del grupo en cada
trimestre, y la media del alumno que se encuentra en la
posición N (N se lee por teclado).
public static void main(String[] args) {
Scanner entrada = new Scanner (System.in);

int[] primero = new int [5];


int[] segundo = new int [5];
int[] tercer = new int [5];
int mediaprimero = 0,mediasegundo = 0,mediatercero=0;

//Notas del primer cuatrimestre


System.out.println("Digite las notas del primer cuatrimestre: ");
for(int i=0;i<5;i++){
System.out.print("Alumno ["+i+"] :");
primero [i] = entrada.nextInt();

mediaprimero += primero [i];


}
//Notas del segundo cuatrimestre
System.out.println("\nDigite las notas del segundo cuatrimestre: ");
for(int i=0;i<5;i++){
System.out.print("Alumno ["+i+"] :");
segundo [i] = entrada.nextInt();

mediasegundo += segundo [i];


}
//Notas del tercer cuatrimestre
System.out.println("\nDigite las notas del tercer cuatrimestre: ");
for(int i=0;i<5;i++){
System.out.print("Alumno ["+i+"] :");
tercer [i] = entrada.nextInt();

mediatercero += tercer [i];

mediaprimero /= 5;
mediasegundo/= 5;
mediatercero /= 5;

int posicion=0,Salumno=0,Malumno=0;

do{
System.out.print("\n Digite el alumno (0-4) que desea saber su promedio:");
posicion = entrada.nextInt();
}while (posicion<0 || posicion>4);

Salumno = primero[posicion] + segundo [posicion] + tercer [posicion];


Malumno = Salumno / 3;
System.out.println("\n Entrega de notas fin de año");
System.out.println("Promedio del primer cuatrimestre: "+mediaprimero+"");
System.out.println("Promedio del segundo cuatrimestre: "+mediasegundo+"");
System.out.println("Promedio del tercero cuatrimestre: "+mediatercero+"");

System.out.println("\nPromedia de alumno"+posicion+": "+Malumno+"");

}
}

Capitulo 6: Ordenamientos
Método Burbuja:
public static void main(String[] args) {
Scanner entrada = new Scanner (System.in);
int elementos=0;
elementos = Integer.parseInt(JOptionPane.showInputDialog("Digite el numero de elementos del
arreglo"));

int [] arreglo =new int [elementos];


System.out.println("Digite los elementos del arreglo");
for (int i=0;i<elementos;i++){
System.out.print((i+1)+".-");
arreglo [i] = entrada.nextInt();
}

int aux;
for (int i=0;i<(elementos-1);i++){
for (int j = 0; j < (elementos-1); j++) {
if (arreglo[j]>arreglo[j+1]){
aux=arreglo[j];
arreglo[j] = arreglo [j+1];
arreglo [j+1] = aux;
}
}
}

System.out.println("\nResultados del arreglo en forma creciente:");


for (int i = 0; i < elementos; i++) {
System.out.print(arreglo[i]+" ");
}

//Imprimir en forma decreciente

System.out.println("\n\nResultados del arreglo en forma decreciente:");


for (int i = (elementos-1); i >= 0; i--) {
System.out.print(arreglo[i]+" ");
}
System.out.println();

}
}

Ordenamiento por inserción.

public static void main(String[] args) {


Scanner entrada = new Scanner (System.in);
int elementos=0;
elementos = Integer.parseInt(JOptionPane.showInputDialog("Digite el numero de elementos del
arreglo"));

int [] arreglo =new int [elementos];


System.out.println("Digite los elementos del arreglo");
for (int i=0;i<elementos;i++){
System.out.print((i+1)+".-");
arreglo [i] = entrada.nextInt();
}

//Ordenamiento por insercion.


int pos,aux;

for(int i=0;i<elementos;i++){
pos = i;
aux = arreglo [i];

while((pos>0)&&(arreglo[pos-1]>aux)){
arreglo [pos] = arreglo [pos-1];
pos--;
}

arreglo[pos] = aux;
}

System.out.println("\nOrden Ascendente");
for(int i=0;i<elementos;i++){
System.out.print(arreglo[i]+" ");
}

System.out.println("\n\nOrden Descendente");
for (int i =(elementos-1); i >=0; i--) {
System.out.print(arreglo[i]+" ");
}
System.out.println();
}
}

Capitulo 7: Busquedas.

Busqueda Secuencial:
No importa si esta ordenado o no.
public static void main(String[] args) {
Scanner entrada = new Scanner (System.in);
int elementos=0, numero;
elementos = Integer.parseInt(JOptionPane.showInputDialog("Digite el numero de elementos del
arreglo"));

int [] arreglo =new int [elementos];


System.out.println("Digite los elementos del arreglo");
for (int i=0;i<elementos;i++){
System.out.print((i+1)+".-");
arreglo [i] = entrada.nextInt();
}

System.out.println("\nDigite el numero que desea encontrar: ");


numero = entrada.nextInt();

//Ordenamiento por seleccion.


int k=0;
boolean encontro=false;
while (k<elementos && encontro==false){
if(arreglo[k] == numero){
encontro=true;
}
k++;
}

if(encontro==true){
System.out.print("\nEl numero fue encontrado en la posicion: "+(k-1));
} else {
System.out.println("\nEl numero no se encuentra en el arreglo");
}

System.out.println();
}
}

Busqueda Binaria:
Tiene que estar ordenado de forma ascendente.

Capitulo 8: Matrices.

Ejercicio 1: Crear y cargar una matriz de tamaño N x M y decir


si es simetrica o no.

public static void main(String[] args) {


Scanner entrada = new Scanner (System.in);
int columnas,filas;

filas = Integer.parseInt(JOptionPane.showInputDialog("Digite el numero de filas de la matriz"));


columnas = Integer.parseInt(JOptionPane.showInputDialog("Digite el numero de columnas de la
matriz"));

int [][] matriz = new int [filas] [columnas];

System.out.println("Digite los valores de la matriz: ");


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

boolean simetrica=true;

if (filas==columnas){
int q=0,l;
while(q<filas && simetrica==true){
l=0;
while(l<q && simetrica==true){
if (matriz [q][l] != matriz [l][q]){
simetrica=false;
}
l++;
}
q++;
}
}
if (simetrica==true){
System.out.println("\nLa matriz es simetrica");
} else {
System.out.println("\nLA matriz NO es simetrica");
}
System.out.println();

}
}

Ejercicio 2: Crear y cargar dos matrices de tamaño 3x3,


sumarlas y mostrar su suma.

public static void main(String[] args) {


Scanner entrada = new Scanner (System.in);

int [][] primera = new int [3] [3];


int [][] segunda = new int [3] [3];
int [][] suma = new int [3] [3];

System.out.println("Digite los valores de la primera matriz: ");

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

System.out.println("\nDigite los valores de la segunda matriz");

for (int i=0;i<3;i++){


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

for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
suma [i] [j] = primera [i][j] + segunda [i] [j];

}
}
System.out.println("\n Resultado de la 3er matriz");
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
System.out.print(suma [i] [j]+" ");
}
System.out.println();
}

}
}

Ejercicio 3: Crear y cargar una matriz de tamaño 3x3,


transponerla y mostrarla.

public static void main(String[] args) {


Scanner entrada = new Scanner (System.in);

int [][] matriz = new int [3] [3];

System.out.println("Digite los elementos de la matriz");


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

System.out.println("\nResultados de la matriz original");


for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
System.out.print(matriz[i][j]+" ");
}
System.out.println();
}

int aux;
for (int i=0;i<3;i++){
for (int j=0;j<i;j++){
aux = matriz [i][j];
matriz [i][j] = matriz [j][i];
matriz [j][i] = aux;
}
}

System.out.println("\nResultados de la matriz transpuesta");


for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
System.out.print(matriz[i][j]+" ");
}
System.out.println();
}
}
}

Ejercicio 4: Crear una matriz de tamaño 7x7 y rellenarla de


forma que los elementos de la diagonal principal sean 1 y el
resto 0.

public static void main(String[] args) {


Scanner entrada = new Scanner (System.in);

int [][] primera = new int [7] [7];

for (int i=0;i<7;i++){


for (int j=0;j<7;j++){
if (i==j){
primera [i] [j] = 1;
} else {
primera [i][j] = 0;
}
}
}

System.out.println("\nResultados de la matriz");
for(int i=0;i<7;i++){
for(int j=0;j<7;j++){
System.out.print(primera[i][j]+" ");
}
System.out.println();
}
}
}
Ejercicio 5: Crear y cargar una matriz de tamaño N x M,
mostrar la suma de cada fila y de cada columna.

public static void main(String[] args) {


Scanner entrada = new Scanner (System.in);

int filas,col,sumaf,sumac;

System.out.print("Digite la cantidad de fila de la matriz: ");


filas = entrada.nextInt();
System.out.print("Digite la cantidad de columna de la matriz: ");
col = entrada.nextInt();

int [][] matriz = new int [filas][col];

for (int i=0;i<filas;i++){


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

//Impresion de matriz
for (int i=0;i<filas;i++){
for(int j=0;j<col;j++){
System.out.print(matriz [i][j]+" ");
}
System.out.println();
}

for(int i=0;i<filas;i++){
sumaf = 0;
for(int j=0;j<col;j++){
sumaf += matriz [i][j];
}

System.out.println("La suma de la fila: "+i+" es "+sumaf+"");


}

//sumar las columnas


for(int i=0;i<col;i++){
sumac = 0;
for(int j=0;j<filas;j++){
sumac += matriz [i][j];
}
System.out.println("La suma de la fila: "+i+" es "+sumac+"");
}
System.out.println();

}
}

Ejercicio 6: Utilizando dos matrices de tamaño 5x9 y 9x5,


cargar la primera y transponerla en la segunda.

public static void main(String[] args) {


Scanner entrada = new Scanner (System.in);

int [][] matriz1 = new int [5][9];


int [][] matriz2 = new int [9][5];

System.out.println("Digite los elementos de la matriz a transponer");


for(int i=0;i<5;i++){
for(int j=0;j<9;j++){
System.out.print("Matriz ["+i+"] ["+j+"]: ");
matriz1 [i][j] = entrada.nextInt();
}
}

System.out.println("\nImpresion de la matriz original");


for(int i=0;i<5;i++){
for(int j=0;j<9;j++){
System.out.print(matriz1 [i][j]+" ");
}
System.out.println();
}

//Transposicion de matriz.
for(int i=0;i<9;i++){
for(int j=0;j<5;j++){
matriz2 [i][j] = matriz1 [j][i];
}

//Impresion de matriz transpuesta


System.out.println("\nMatriz transpuesta");
for(int i=0;i<9;i++){
for(int j=0;j<5;j++){
System.out.print(matriz2[i][j]+" ");
}
System.out.println();
}

System.out.println();
}
}

Ejercicio 7: Crear una matriz "marco" de tamaño 5x5: todos


sus elementos deben ser 0 salvo los de los bordes que deben
ser 1. Mostrarla.

public static void main(String[] args) {


Scanner entrada = new Scanner (System.in);
int [][] marco = new int [5][5];

int i=0,j=0;
for (i = 0; i < 5; i++) {

for (j = 0; j < 5; j++) {


if(i==0){
marco[i][j] = 1;
}
if(i==4){
marco[i][j] =1;
}
if (j==4){
marco[i][j] = 1;
}
if (j==0){
marco[i][j] = 1;
}
}
}

for (i = 0; i < 5; i++) {


for (j = 0; j < 5; j++) {
System.out.print(marco[i][j]+"");
}
System.out.println();
}

}
}
9. Programación orientada a objetos (POO).

Un objeto es todo aquello que tenga atributos (características) y métodos (acciones).

Clase: es un conjunto de objetos con características similares una clase se crea en mayúscula y en
singular, ejemplo

Coche

atributos
color
marca
KM

métodos
encender
acelerar
frenar

Para crear clases en java:

Crear Objeto:
Creacion de método(Accion):

Parámetros: en una declaración de variable u objeto, ejemplo.


Argumentos: es un valor que se envía.
7. Constructor: es un método especial de una clase que se invoca
siempre que se crea un objeto de esa clase.

El constructor tiene que ser publica “public” y no devuelve ningún valor.


Para diferenciar variables en constructores se usa this

Public class Persona{


//Atributos
String nombre;
Int edad;

public Persona(String nombre, int edad){


This.nombre = nombre;
This.edad = edad;
}
}

Se inserta automáticamente presionando “ALT+Insert”.

8. Sobre Carga de Métodos.

Una sobre carga de métodos se puede diferenciar con parámetros pero


java no los diferencia por el tipo de datos ejemplo (void,int,string),ejemplo

public void correr(){


System.out.println("Mi nombre es: "+nombre+" y tengo "+edad+"
años, estoy corriendo una maraton");
}
public void correr(int km){
System.out.println("He corrido "+km+" km");
}

9. Modificaciones de acceso.

Que yo pueda acessar a una clase de un paquete diferente para tomar sus
atributos y poder realizar operaciones, debe estar import
paquete1.clase1; y el atributo que se va a tomar debe estar publico
ejemplo:

public class Clase1{


public Int = atributo1;
}

Con el modificador de acceso “PRIVATE” se restringe que una clase del


mismo paquete use la variable, solo puede ser usado por la clase donde
esta declarada.

public class Clase1{


private Int = atributo1;
}

10. Encapsulamiento y métodos accesores (Getters y Setters).

Encapsulamiento: significa ocultar algunos datos para que no se puedan


modificar a antojo.
Métodos accesores(Set y Get):
public class Clase1 {

private int edad;


private String nombre;

//Metodo Setter: Establecemos la edad


public void setEdad(int edad){
this.edad = edad;
}

//Metodo Getter: Mostramos la edad


public int getEdad(){
return edad;
}

public void setNombre (String nombre){


this.nombre = nombre;
}

public String getNombre(){


return nombre;
}
}

11-Constantes: Para establecer constantes en java pones la palabra


“prívate final” , ejemplo:

Public class Persona{


private final String nombre;
private int edad;
}
//Constructor
public persona (String nombre, int edad){
this.nombre = nombre;
this.edad = edad;
}

2x9: Creacion de clases y objetos, Ejemplos:


package ClasesyObjetos;

public class Coche {


String modelo;
String color;
int km;

public static void main (String [] args){


Coche coche1 = new Coche();

coche1.color = "Negro";
coche1.modelo = "Ferrari";
coche1.km = 100;

System.out.println("El color del coche es: "+coche1.color);


System.out.println("El modelo del coche es: "+coche1.modelo);
System.out.println("Los KM recorridos por el coche son: "+coche1.km+"");

Coche coche2 = new Coche();

coche2.color = "Azul";
coche2.modelo = "Audi";
coche2.km = 120;

System.out.println("\nEl color del coche es: "+coche2.color);


System.out.println("El modelo del coche es: "+coche2.modelo);
System.out.println("Los KM recorridos por el coche son: "+coche2.km+"");
}
}

3x9:

12- Miembros estáticos.


Ejercicio 1: Construir un programa que calcule el area y el
perimetro de un cuadrilaterio dada la longitud de sus dos
lados. los valores de la longitud deberan introducirse por linea
de ordenes. Si es un cuadrado, solo se proporcionara la
longitud de uno de los lados al constructor.

package ClasesyObjetos;

public class Cuadrilatero {


private float lado1;
private float lado2;

public Cuadrilatero(float lado1, float lado2) {


this.lado1 = lado1;
this.lado2 = lado2;
}

public Cuadrilatero(float lado1) {


this.lado1 = this.lado2 = lado1;
}

public float getPerimetro(){


float perimetro = 2*(lado1+lado2);
return perimetro;
}

public float getArea(){


float area = (lado1*lado2);
return area;
}

package ClasesyObjetos;

import javax.swing.JOptionPane;

public class Main {


public static void main (String [] args){
Cuadrilatero c1;

float lado1,lado2;
lado1 = Float.parseFloat(JOptionPane.showInputDialog("Digite el valor de lado 1: "));
lado2 = Float.parseFloat(JOptionPane.showInputDialog("Digite el valor de lado 2: "));

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

}
System.out.println("Perimetro del cuadrilatero: "+c1.getPerimetro());
System.out.println("El area del cuadrilatero es: "+c1.getArea());
}
}

Ejercicio 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
ARRIIBA, ABAJO, IZQUIERDA Y DERECHA. Tras cada
movimiento el programa mostrara la nueva dirección elegida
y las coordenadas de situación del objeto dentro del tablero.

package ClasesyObjetos;

public class Tablero {


private int x;
private int y;

public Tablero(int x, int y) {


this.x = x;
this.y = y;
}

public void getArriba(int incremento){


y += incremento;
}
public void getAbajo(int incremento){
y -= incremento;
}
public void getIzquierda(int incremento){
x -= incremento;
}
public void getDerecha(int incremento){
x += incremento;
}

public int getX(){


return x;
}

public int getY(){


return y;
}
}

package ClasesyObjetos;

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

public class Main {


public static void main (String [] args){
Scanner entrada = new Scanner (System.in);
int x,y,posicion,incremento = 0;

x = Integer.parseInt(JOptionPane.showInputDialog("Digite la coordenada inicial de X: "));


y = Integer.parseInt(JOptionPane.showInputDialog("Digite la coordenada inicial de Y: "));

Tablero t1 = new Tablero(x,y);

System.out.println("MENU\n");
do{
System.out.println("1-Mover hacia arriba");
System.out.println("2-Mover hacia abajo");
System.out.println("3-Mover hacia Izquierda");
System.out.println("4-Mover hacia Derecha");
System.out.println("5-Salir");
System.out.print("\nSelecione una opcion del menu: ");
posicion = entrada.nextInt();

if (posicion < 6 && posicion>0){


System.out.print("\nDigite las posiciones que desea avanzar:");
incremento = entrada.nextInt();
}

switch(posicion){
case 1: t1.getArriba(incremento);break;
case 2: t1.getAbajo(incremento);break;
case 3: t1.getIzquierda(incremento);break;
case 4: t1.getDerecha(incremento);break;
case 5: break;

default: System.out.println("Esta opcion no existe, intente de nuevo");break;


}

System.out.println("\nSe encuentra en la posicion X: "+t1.getX()+" Y: "+t1.getY()+"\n");

}while (posicion != 5);

System.out.println("\nSalio del programa");


}
}

Ejercicio 3: 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.
Clase Carro
package carro;

public class Carro {


private String marca;
private String modelo;
private int precio;

public Carro(String marca, String modelo, int precio) {


this.marca = marca;
this.modelo = modelo;
this.precio = precio;
}

public int getPrecio(){


return precio;
}

public String mostrarResultados(){


return "Marca: "+marca+"\nModelo: "+modelo+"\nPrecio $: "+precio+"";
}
}
Clase PRINCIPAL
package carro;

import java.util.Scanner;

public class Principal {


public static int indiceMasbarato(Carro carro1 []){
int precio, indice = 0;

precio = carro1[0].getPrecio();
for (int i =1; i<carro1.length;i++) {
if (carro1[i].getPrecio() < precio){
precio = carro1[i].getPrecio();
indice = i;
}
}
return indice;
}

public static void main (String [] args){


Scanner entrada = new Scanner (System.in);
int cantidad;
String marca,modelo;
int precio = 0;
int indicebarato;

System.out.print("Digite la cantidad de carros que quiere insertar: ");


cantidad = entrada.nextInt();

Carro carro1 [] = new Carro [cantidad];

for(int i=0;i<carro1.length;i++){
entrada.nextLine();
System.out.println("\nDigite las caracteristicas del carro "+(i+1)+" ");
System.out.print("Digite la Marca: ");
marca = entrada.nextLine();
System.out.print("Digite el Modelo: ");
modelo = entrada.nextLine();
System.out.print("Digite el Precio: ");
precio = entrada.nextInt();

carro1 [i] = new Carro(marca,modelo,precio);


}
indicebarato = indiceMasbarato(carro1);
System.out.println("\nEl carro mas barato es el: ");
System.out.println(carro1[indicebarato].mostrarResultados());
}
}

Ejercicio 4: Construir un programa para una competencia de


atletismo, el programa debe gestionar una serie de atletas
caracterizados por su número de atleta, nombre y tiempo de
carrera, al final el programa debe mostrar los datos del atleta
ganador de la carrera.

Atleta

-nAtleta: String
-nombre: String
-tCarrera: int

Atleta(String nAtleta, String nombre, int


tCarrera)gettCarrera
mostrarResultado

package ClasesyObjetos;

public class Atleta {


String nAtleta;
String nombre;
int tiempo;

public Atleta(String nAtleta, String nombre, int tiempo) {


this.nAtleta = nAtleta;
this.nombre = nombre;
this.tiempo = tiempo;
}

public int getTiempo() {


return tiempo;
}

public String mostrarR(){


return "El atleta ganador es el No. "+nAtleta+", \nNombre "+nombre+" \ntiempo de "+tiempo+"";
}
}

package ClasesyObjetos;

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

public class Main {


public static int tiempoGanador(Atleta t1 []){
int tiempo=0, indice = 0;

tiempo = t1[0].getTiempo();
for (int i =1; i<t1.length;i++) {
if (t1[i].getTiempo() < tiempo){
tiempo = t1[i].getTiempo();
indice = i;
}
}
return indice;
}
public static void main (String [] args){
Scanner entrada = new Scanner (System.in);
String nAtleta = null,nombre = null;
int tiempo, cantidad;
int tiempoG;

cantidad = Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de atletas a participar:


"));

Atleta t1 [] = new Atleta[cantidad];

System.out.println("");
for (int i = 0; i <t1.length; i++) {
//entrada.nextLine();
System.out.print("Digite el numero de atleta "+(i+1)+": ");
nAtleta = entrada.next();
System.out.print("Digite el nombre del atleta "+(i+1)+": ");
nombre = entrada.next();
System.out.print("Digite el tiempo de carrera recorridos "+(i+1)+": ");
tiempo = entrada.nextInt();

t1 [i] = new Atleta(nAtleta,nombre,tiempo);


}
tiempoG = tiempoGanador(t1);
System.out.println("\nEl atleta ganador es: ");
System.out.println(t1[tiempoG].mostrarR());
}
}

Ejercicio 5: Diseñar un programa para trabajar con triangulos


isosceles. Para ello defina los atributos necesarios que se
requieren proporcione metrodos de consulta, un metodo
constructor e imprementar metodos para calcular el
perimetro y el area de un triangulo ademas implementar un
metodo que a partir de un arreglo de triangulos devuelva el
area del triangulo de mayor superficie.

package ClasesyObjetos;
public class Triangulo {
private double base;
private double lado;

public Triangulo(double base, double lado) {


this.base = base;
this.lado = lado;
}
public double obtenerPerimetro(){
double perimetro = 2*base+lado;
return perimetro;
}
public double obtenerArea(){
double area = (base*Math.sqrt((lado*lado) - ((base*base) /4 ))) / 2;
return area;
}
public String mostrarResultados(){
return "Base: "+base+"\nLado: "+lado+"\nPerimetro: "+obtenerPerimetro()+"\nArea:
"+obtenerArea()+"";
}
}
package ClasesyObjetos;

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

public class Main {


public static double mayorArea(Triangulo t1[]){
double area;

area = t1[0].obtenerArea();
for (int i = 1; i <t1.length; i++) {
if(t1[i].obtenerArea()>area){
area = t1[i].obtenerArea();
}

}
return area;
}
public static void main (String [] args){
Scanner entrada = new Scanner (System.in);
double lado,base;
int cantidad;

System.out.print("Digite la cantidad de triangulos: ");


cantidad = entrada.nextInt();

Triangulo t1 [] = new Triangulo[cantidad];

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


System.out.println("\nDigite la base y los lados del triangulo:");
System.out.print("Digite la base: ");
base = entrada.nextDouble();
System.out.print("Digite el lado del triangulo: ");
lado = entrada.nextDouble();
t1 [i] = new Triangulo(base,lado);
System.out.println("\nEl Perimetro del triangulo es: "+t1[i].obtenerPerimetro());
System.out.println("El Area del triangulo es: "+t1[i].obtenerArea());

}
System.out.println("\nEl triangulo con mayor superficie de area es: "+mayorArea(t1));
}
}
Ejercico 7: Hacer un programa sencillo para realizar gestiones
en un banco para lo cual tendremos 2 clases (Cliente y
Cuenta). considerar que un cliente se carateriza por su
nombre, apellido y cedula. El cliente puede consultar saldo,
asi como ingresar y retirar dinero de sus cuentas. Ademas
cada cuenta se caracteriza por un número de cuenta y un
saldo.

CLASE CLIENTE:
package Ejercicio7;

public class Cliente {


private String nombre;
private String apellido;
private String cedula;
Cuenta cuentas[];

public Cliente(String nombre, String apellido, String cedula, Cuenta[] cuentas) {


this.nombre = nombre;
this.apellido = apellido;
this.cedula = cedula;
this.cuentas = cuentas;
}

public String getApellido() {


return apellido;
}

public String getCedula() {


return cedula;
}

public Cuenta[] getCuentas() {


return cuentas;
}

public double consultarSaldo(int n){


return cuentas[n].getSaldo();
}
public void ingresar_Dinero(int n,double cantidad){
cuentas[n].ingresarDinero(cantidad);
}

public void retirar_Dinero(int n,double cantidad){


cuentas[n].retirarDinero(cantidad);
}

}
CLASE CUENTA:

package Ejercicio7;

public class Cuenta {


private int numeroCuenta;
private double saldo;

public Cuenta (int numeroCuenta, double saldo) {


this.numeroCuenta = numeroCuenta;
this.saldo = saldo;
}

public int getNumeroCuenta() {


return numeroCuenta;
}

public double getSaldo() {


return saldo;
}

public void ingresarDinero(double cantidad){


saldo += cantidad;
}

public void retirarDinero(double cantidad){


saldo -= cantidad;
}
}
Main o Principal:

package Ejercicio7;
import java.util.Scanner;

public class Principal {


public static int buscasNumeroCuenta(Cuenta cuentas[], int n){
int i=0, indice=0;
boolean encontrado=false;

while((i<cuentas.length) && (encontrado==false)){


if (cuentas[i].getNumeroCuenta() == n){
encontrado = true;
indice = i;
}
i++;
}

if (encontrado == false){
indice = -1;
}

return indice;
}

public static void main (String [] args){


Scanner entrada = new Scanner (System.in);
String nombre, apellido, cedula;
int numeroCuentas,nCuentas,indiceCuenta;
double saldo,cantidad;
Cuenta cuentas[];
Cliente cliente;

System.out.print("Digite el nombre del cliente: ");


nombre = entrada.nextLine();
System.out.print("Digite el apellido del cliente: ");
apellido = entrada.nextLine();
System.out.print("Digite la cedula del cliente: ");
cedula = entrada.nextLine();
System.out.print("Digite el numero de cuentas que tiene: ");
nCuentas = entrada.nextInt();

cuentas = new Cuenta[nCuentas];

System.out.println("\nDigite los datos de la cuenta ");


for (int i = 0; i < cuentas.length; i++) {
System.out.print("\nDigite el numero de la cuenta "+(i+1)+": ");
numeroCuentas = entrada.nextInt();
System.out.print("Digite el saldo de la cuenta "+(i+1)+": ");
saldo = entrada.nextDouble();

cuentas [i] = new Cuenta(numeroCuentas,saldo);


}

cliente = new Cliente(nombre,apellido,cedula,cuentas);


int posicion;

do{
System.out.println("\n MENU ");
System.out.println("1. - Depositar dinero a la cuenta.");
System.out.println("2. - Retirar dinero de la cuenta.");
System.out.println("3. - Consultar saldo de la cuenta.");
System.out.println("4. - Salir.");

System.out.print("\nQue desea realizar: ");


posicion = entrada.nextInt();

if (posicion<0 && posicion>4){


System.out.println("Esta opcion no existe, vuelva a intentar");
}

switch(posicion){
case 1: System.out.print("\nDigite el numero de la cuenta:");
numeroCuentas = entrada.nextInt();
indiceCuenta = buscasNumeroCuenta(cuentas, numeroCuentas );

if (indiceCuenta== -1){
System.out.println("\nEl numero de cuenta no existe:");
} else {
System.out.print("\nDigite la cantidad de dinero a depositar: ");
cantidad = entrada.nextDouble();

cliente.ingresar_Dinero(indiceCuenta, cantidad);
System.out.println("\nDeposito Realizado correctamente, Saldo:
"+cliente.consultarSaldo(indiceCuenta)+"");
}
break;

case 2: System.out.print("\nDigite el numero de la cuenta:");


numeroCuentas = entrada.nextInt();
indiceCuenta = buscasNumeroCuenta(cuentas, numeroCuentas );

if (indiceCuenta== -1){
System.out.println("\nEl numero de cuenta no existe:");
} else {
System.out.print("\nDigite la cantidad de dinero a retirar: ");
cantidad = entrada.nextDouble();

cliente.retirar_Dinero(indiceCuenta, cantidad);
System.out.println("\nRetiro Realizado correctamente, Saldo:
"+cliente.consultarSaldo(indiceCuenta)+"");
}
break;

case 3:
System.out.print("\nDigite el numero de la cuenta:");
numeroCuentas = entrada.nextInt();
indiceCuenta = buscasNumeroCuenta(cuentas, numeroCuentas );

if (indiceCuenta== -1){
System.out.println("\nEl numero de cuenta no existe:");
} else {

System.out.println("Saldo: "+cliente.consultarSaldo(indiceCuenta)+"");
}
break;

case 4: System.out.println("Saliendo del programa"); break;


default: System.out.println("Esta opcion no existe"); break;
}

}while(posicion != 4);

}
}

Ejercicio 8: Una empresa de envió de paquetes tiene varias


sucursales en todo el país. Cada sucursal está definida por su
número de sucursal, dirección y ciudad. Para calcular el precio
que cuesta enviar cada paquete, las sucursales tienen en
cuenta el precio del paquete y la prioridad, sabiendo que se
cobra un dólar por kilo, 10 dólares más si la prioridad es alta y
20 si es express. Cada paquete enviado tendrá un número de
referencia y el DNI de la persona que lo envía.
Clase Paquete:

package Ejercicio8;

public class Paquete {


private int numeroPaquete;
private String cedula;
private double peso;
private int prioridad;

public Paquete(int numeroPaquete, String cedula, double peso, int prioridad) {


this.numeroPaquete = numeroPaquete;
this.cedula = cedula;
this.peso = peso;
this.prioridad = prioridad;
}

public int getNumeroPaquete() {


return numeroPaquete;
}

public String getCedula() {


return cedula;
}

public double getPeso() {


return peso;
}

public int getPrioridad() { //0-normal 1-Alta 2-Express


return prioridad;
}

public String mostrarDatos(){


return "Numero de paquete: "+numeroPaquete+""
+ "\nCedula: "+cedula+""
+ "\nPeso: "+peso+""
+ "\nPrioridad: "+prioridad+"";
}
}
Clase Sucursal

package Ejercicio8;

public class Sucursal {


private int numeroSucursal;
private String direccion;
private String ciudad;

public Sucursal(int numeroSucurssal, String direccion, String ciudad) {


this.numeroSucursal = numeroSucurssal;
this.direccion = direccion;
this.ciudad = ciudad;
}

public int getNumeroSucurssal() {


return numeroSucursal;
}

public String getDireccion() {


return direccion;
}

public String getCiudad() {


return ciudad;
}

public String mostrarDatos(){


return "Numero de sucursal: "+numeroSucursal+""
+ "\nDireccion: "+direccion+""
+ "\nCiudad: "+ciudad+"\n";
}
public double calcular_precio(Paquete t){
double precio;

precio = t.getPeso();
if(t.getPrioridad()==1){
precio += 10;
}
if (t.getPrioridad()==2){
precio += 20;
}
return precio;
}
}
Main

package Ejercicio8;

import java.util.Scanner;

public class Principal {

public static int buscarPaquete(Paquete paquete[], int numeroPaquete, int contadorPaquete){


int indice=0;
boolean encontrado=false;

for (int i = 0; i < contadorPaquete; i++) {


if (paquete[i].getNumeroPaquete()== numeroPaquete){
encontrado = true;
indice = i;
}
if (encontrado == false){
indice = -1;
}

}
return indice;
}
public static int buscarSucursal(Sucursal sucursal[], int numeroSucursal, int contadorSucursal){
int indice=0;
boolean encontrado=false;

for (int i = 0; i < contadorSucursal; i++) {


if (sucursal[i].getNumeroSucurssal() == numeroSucursal){
encontrado = true;
indice = i;
}
if (encontrado == false){
indice = -1;
}

}
return indice;
}

public static void main (String [] args){


Scanner entrada = new Scanner (System.in);
int numeroSucursal,prioridad,numeroPaquete,opcion;
int contadorSucursal=0,contadorPaquete=0,indiceSucursal,indicePaquete;
String direccion,ciudad,cedula;
double peso, precio;

Sucursal sucursal[] = new Sucursal[50];


Paquete paquete[] = new Paquete[100];

do{
System.out.println("\n\t.:MENU:.");
System.out.println("1. Crear una nueva sucursal");
System.out.println("2. Enviar paquete");
System.out.println("3. Consultar sucursal");
System.out.println("4. Consultar paquete");
System.out.println("5. Mostrar todas las sucursales");
System.out.println("6. Mostrar todos los paquetes");
System.out.println("7. Salir");

System.out.print("\nQue desea realizar: ");


opcion = entrada.nextInt();

if (opcion<0 && opcion>7){


System.out.println("Esta opcion no existe, intentar de nuevo");
}

switch(opcion){
case 1: System.out.print("\nDigite el numero de la sucursal: ");
numeroSucursal = entrada.nextInt();
System.out.print("Digite la direccion de la sucursal: ");
direccion = entrada.next();
System.out.print("Digite la ciudad de la sucursal: ");
ciudad = entrada.next();

sucursal[contadorSucursal] = new Sucursal(numeroSucursal, direccion, ciudad);


contadorSucursal++;
break;

case 2: System.out.print("\nDigite el numero de sucursal: ");


numeroSucursal = entrada.nextInt();
indiceSucursal=buscarSucursal(sucursal, numeroSucursal, contadorSucursal);
if (indiceSucursal == -1){
System.out.println("La sucursal digitada no existe.");
}else {
System.out.print("\nDigite el numero del paquete: ");
numeroPaquete = entrada.nextInt();
System.out.print("Digite el numero de cedula: ");
cedula = entrada.next();
System.out.print("Digite el peso del paquete: ");
peso = entrada.nextDouble();
System.out.print("Digite la prioridad del paquete (0=Normal 1=Alta 2=Express): ");
prioridad = entrada.nextInt();

paquete [contadorPaquete] = new Paquete(numeroPaquete, cedula, peso, prioridad);

precio = sucursal[indiceSucursal].calcular_precio(paquete[contadorPaquete]);

System.out.println("\nEl precio por enviar el paquete es: "+precio);


contadorPaquete++;

}break;

case 3: System.out.print("\nDigite el numero de sucursal a consultar: ");


numeroSucursal = entrada.nextInt();
indiceSucursal=buscarSucursal(sucursal, numeroSucursal, contadorSucursal);
if (indiceSucursal == -1){
System.out.println("La sucursal digitada no existe.");
}else{
System.out.println("\nLos datos de la sucursal:\n ");
System.out.println(sucursal[indiceSucursal].mostrarDatos());
}
break;

case 4: System.out.print("\nDigite el numero de paquete a consultar: ");


numeroPaquete = entrada.nextInt();
indicePaquete = buscarPaquete(paquete, numeroPaquete, contadorPaquete);
if (indicePaquete == -1){
System.out.println("Este numero de paquete no existe");
}else{
System.out.println("\nLos datos del paquete son:\n
"+paquete[indicePaquete].mostrarDatos());
}break;

case 5: System.out.println("Todas las sucursales:\n ");


for (int i = 0; i < contadorSucursal; i++) {
System.out.println(""+sucursal[i].mostrarDatos());
}break;

case 6: System.out.println("Todos los paquetes: ");


for (int i = 0; i < contadorPaquete; i++) {
System.out.println(""+paquete[i].mostrarDatos());
}break;

case 7: System.out.println("\nSaliendo del sistema");break;

default: System.out.println("\nLa opcion "+opcion+" no existe");


}
}while(opcion != 7);

}
}

HERENCIA

La herencia es una forma de reutilización de software en la


que se crea una nueva clase al absorber los miembros de una
ya existente.

La clase estudiante toma los atributos y métodos de la clase


persona, la clase estudiante hereda de persona podemos
guiarnos con la palabra “Es un”, un estudiante es una persona,
pero una persona no es un estudiante.

Public class estudiantes extends personas


Métodos y clases final

Se coloca la palabra FINAL a principio de la clase para que las


clases hijas no puedan usar los métodos de la clase padre.

Sobre Escritura de miembros

Una sobre escritura es si tengo una Super Clase llamada


Animal y tiene un método comer y esta clase es heredada por
una clase llamada persona y animal con poner @overwrite
estaría modificando el método comer de la clase animal.
Clases y métodos abstractos.

 Se Utilizan como super clase


 No se puede instanciar objetos
 Sirve para proporcionar una super clase apropiada a
partir de cual heredan otras clases.

Método abstracto Es aquel que no sabe como


implementarlo pero que si o si debes ponerlo.

Los métodos abstractos no se definen solo se


implementar, Ejemplo:

Public abstract class SerVivo;

Public abstract void Alimentarse(){


}

Clase abstracta se significa que atravesé de esa no


puedes instanciar objetos pues que es algo muy general y
debemos hacer métodos mas específicos por ejemplo
Clase servivo tiene el método alimentarse, es muy
general por ende se debe poner abstracto, entonces
debemos hacer clases mas especificas como Animal
método alimentarse.
Polimorfismo en POO

Super Clase VEHICULO


package Final;

public class Vehiculo {


protected String marca;
protected String modelo;
protected String matricula;

public Vehiculo(String marca, String modelo, String matricula) {


this.marca = marca;
this.modelo = modelo;
this.matricula = matricula;
}

public String getMarca() {


return marca;
}

public String getModelo() {


return modelo;
}

public String getMatricula() {


return matricula;
}

public String mostrarDatos(){


return "La marca del vehiculo:"+marca+"\n"
+ "El modeli del vehiculo: "+modelo+"\n"
+ "La matricula del vehiculo: "+matricula+"";
}
}

Clase Hija VehiculoDeportivo


package Final;

public class VehiculoDeportivo extends Vehiculo {


private int puertas;

public VehiculoDeportivo(int puertas, String marca, String modelo, String matricula) {


super(marca, modelo, matricula);
this.puertas = puertas;
}
public int getPuertas() {
return puertas;
}

@Override
public String mostrarDatos(){
return "La marca del vehiculo:"+marca+"\n"
+ "El modeli del vehiculo: "+modelo+"\n"
+ "La matricula del vehiculo: "+matricula+"\n"
+ "El numero de puertas del vehiculo: "+puertas+"";
}
}

Clase Hija VehiculoBan

package Final;

public class VehiculoBan extends Vehiculo{


private String carga;

public VehiculoBan(String carga, String marca, String modelo, String matricula) {


super(marca, modelo, matricula);
this.carga = carga;
}

public String getCarga() {


return carga;
}

@Override
public String mostrarDatos(){
return "La marca del vehiculo:"+marca+"\n"
+ "El modeli del vehiculo: "+modelo+"\n"
+ "La matricula del vehiculo: "+matricula+"\n"
+ "La carga que soporta el vehiculo es: "+carga+"";
}
}

Clase Principal o Main


package Final;

public class Principal {


public static void main (String [] args ){
Vehiculo vehiculo[] = new Vehiculo[3];
vehiculo[0] = new Vehiculo("Hyndai","Sonata","1458798");
vehiculo[1] = new VehiculoDeportivo(4,"Honda","Civic","P14E");
vehiculo[2] = new VehiculoBan("500KG","Toyota","Corola","O4513");

for(Vehiculo v1: vehiculo){


System.out.println(v1.mostrarDatos());
System.out.println("");
}
}
}

Conversion Ascendente de tipo (UPCASTING)


Es subir de jerarquía un objeto de una clase inferior

package Final;

public class Principal {


public static void main (String [] args ){
Vehiculo v1 = new VehiculoDeportivo(4,"Toyota","Corola","P854I");

System.out.println(v1);

}
}

Conversion Descendente de tipo (DOWNCASTING)


Es bajar de jerarquía un objeto de una clase superior

package Final;

public class Principal {


public static void main (String [] args ){
Vehiculo v1 = new VehiculoDeportivo(4,"Toyota","Corola","P854I");

VehiculoDeportivo v2 = (VehiculoDeportivo) v1;


System.out.println(v2);
}
}
Ejercicio 10: Crear un programa para simular un equipo de futbol
(futbilista, entrenador y doctor), para lo cual tendremos lo siguiente:

-Una Super clase Persona, que tendra los siguientes datos: nombre,
apellid, edad.
-La sub clase futbolista tendra los siguientes datos: dorsal y posicion.
-La sub clase Entrenador tendra de dato la estrategia que utiliza.
-La sub clase Doctor, la titulacion y los años de experiencia.

Hacer un menu donde se tengan las siguientes opciones: Viaje de


equipo, entrenamiento, partido de futbol, planificar entrenamiento,
entrevistas, curar lesion.

Clase PERSONA (superclase o clase padre)

package Ejercicio10;

public abstract class Persona {


protected String nombre;
protected String Apellido;
protected int edad;

public Persona(String nombre, String Apellido, int edad) {


this.nombre = nombre;
this.Apellido = Apellido;
this.edad = edad;
}

public String getNombre() {


return nombre;
}

public String getApellido() {


return Apellido;
}

public int getEdad() {


return edad;
}
public void viajar(){
System.out.println("Viajar");
}

public abstract void partidoFutbol();

public abstract void entrenamiento();

Clase Futbolista

package Ejercicio10;

public class Futbolista extends Persona {


private int dorsal;
private String posicion;

public Futbolista(int dorsal, String posicion, String nombre, String Apellido, int edad) {
super(nombre, Apellido, edad);
this.dorsal = dorsal;
this.posicion = posicion;
}

public int getDorsal() {


return dorsal;
}

public String getPosicion() {


return posicion;
}

@Override
public void partidoFutbol(){
System.out.println("Juega el partido de futbol");
}

@Override
public void entrenamiento(){
System.out.println("Entrena");
}

public void entrevista(){


System.out.println("Dan una entrevista");
}
}

Clase Entrenador
package Ejercicio10;

public class Entrenador extends Persona{


private String estrategia;

public Entrenador(String estrategia, String nombre, String Apellido, int edad) {


super(nombre, Apellido, edad);
this.estrategia = estrategia;
}

public String getEstrategia() {


return estrategia;
}

@Override
public void partidoFutbol(){
System.out.println("Dirige el partido de futbol");
}

@Override
public void entrenamiento(){
System.out.println("Dirige el entrenamiento");
}

public void planificarEntrenamiento(){


System.out.println("Planifica entrenamiento");
}
}

Clase Medico

package Ejercicio10;

public class Medico extends Persona {


private String titulacion;
private int añosExperiencia;

public Medico(String titulacion, int añosExperiencia, String nombre, String Apellido, int edad) {
super(nombre, Apellido, edad);
this.titulacion = titulacion;
this.añosExperiencia = añosExperiencia;
}

public String getTitulacion() {


return titulacion;
}

public int getAñosExperiencia() {


return añosExperiencia;
}

@Override
public void partidoFutbol(){
System.out.println("Da asistencia en un partido de futbol");
}

@Override
public void entrenamiento(){
System.out.println("Da asistencia en un entrenamiento de futbol");
}

public void curarLesion(){


System.out.println("Cura lesion");

}
}

Clase Main o Principal


package Ejercicio10;

import java.util.ArrayList;
import java.util.Scanner;

/*Ejercicio 10: Crear un programa para simular un equipo de futbol (futbilista,


entrenador y doctor), para lo cual tendremos lo siguiente:

-Una Super clase Persona, que tendra los siguientes datos: nombre, apellid, edad.
-La sub clase futbolista tendra los siguientes datos: dorsal y posicion.
-La sub clase Entrenador tendra de dato la estrategia que utiliza.
-La sub clase Doctor, la titulacion y los años de experiencia.

Hacer un menu donde se tengan las siguientes opciones: Viaje de equipo,


entrenamiento, partido de futbol, planificar entrenamiento, entrevistas,
curar lesion.*/

public class Principal {


static ArrayList<Persona> persona = new ArrayList<Persona>();
static Scanner entrada = new Scanner (System.in);

static Persona futbolista1 = new Futbolista (9, "Delantero","Rafael","Cedano",23);


static Persona futbolista2 = new Futbolista (15, "Delantero","Jose","Canseco",27);
static Persona entrenador = new Entrenador ("Defensiva","Norman","Guitierrez",24);
static Persona medico = new Medico ("Fisioterapia",20,"Manuel","Malteco",45);

public static void main (String [] args){


persona.add(futbolista1);
persona.add(futbolista2);
persona.add(entrenador);
persona.add(medico);

menu();
}
public static void menu(){
int opcion;
do{
System.out.println("\t.:MENU:.");
System.out.println("1. Viaje de equipo");
System.out.println("2. Entrenamiento");
System.out.println("3. Partido de futbol");
System.out.println("4. Planificar Entrenamiento");
System.out.println("5. Entrevistas");
System.out.println("6. Curar Lesion");
System.out.println("7. Salir");
System.out.print("\nDigite una opcion:");
opcion = entrada.nextInt();

switch (opcion){
case 1: System.out.println("");
ViajarEquipo(); //Viaje de equipo
break;
case 2: System.out.println("");
Entrenamiento();//Entrenamiento
break;
case 3: System.out.println("");
PartidoFutbol();//Partido de futbol
break;
case 4: System.out.println("");
PlanificarEntrenamiento();//Planifiar Entrenamiento
break;
case 5: System.out.println("");
Entrevistas();//Entrevistas
break;
case 6:System.out.println("");
CurarLesion();//Curar Lesion
break;

case 7: break;

default: System.out.println("Esta Opcion "+opcion+" no existe, intente de nuevo");


break;
}
System.out.println("");

}while(opcion != 7);

public static void ViajarEquipo(){


for(Persona equipo: persona){
System.out.print(equipo.getNombre()+" "+equipo.getApellido()+" -> ");
equipo.viajar();
}
}

public static void Entrenamiento(){


for(Persona equipo: persona){
System.out.print(equipo.getNombre()+" "+equipo.getApellido()+" -> ");
equipo.entrenamiento();
}
}
public static void PartidoFutbol(){
for(Persona equipo: persona){
System.out.print(equipo.getNombre()+" "+equipo.getApellido()+" -> ");
equipo.partidoFutbol();
}
}
public static void PlanificarEntrenamiento(){
System.out.print(entrenador.getNombre()+" "+entrenador.getApellido()+" -> ");
((Entrenador) entrenador ).planificarEntrenamiento();
}
public static void Entrevistas(){
System.out.print(futbolista1.getNombre()+" "+futbolista1.getApellido()+" -> ");
((Futbolista)futbolista1).entrevista();
System.out.print(futbolista2.getNombre()+" "+futbolista2.getApellido()+" -> ");
((Futbolista)futbolista2).entrevista();
}
public static void CurarLesion(){
System.out.print(medico.getNombre()+" "+medico.getApellido()+" -> ");
((Medico) medico).curarLesion();
}

Herencia Multiple: En JAVA no existe herencia multiple como tal, para


eso se una la clase INTERFACE, y colocamos en la clase que desea
hererdar de esas clases padres la palabra implements (y el nombre de
las superclases que quiera implementar). Ejemplo:

Este es el ejemplo de la implementación de “Java Interface”

Proyecto Aeropuerto

S-ar putea să vă placă și