Subido por Marco Antonio Espinoza Honorato

Codigos de POO

Anuncio
Tecnológico Superiores de Villa Guerrero”
Guía de códigos
Alumno: Marco Antonio Espinoza Honorato
Maestra: María Guadalupe Guerrero Ordoñez
Grupo:3211
Ejercicio 1
Ejercicio 1: Construir un programa que calcule el área y el perímetro de un cuadrilátero dada la longitud de sus dos
lados. Los valores de la longitud deberán introducirse por línea de órdenes. Si es un cuadrado, sólo se proporcionará
la longitud de uno de los lados al constructor.
CLASE CUADRILÁTERO
package Ejercicio1;
public class Cuadrilatero {
//atributos
private float lado1;
private float lado2;
//Métodos constructor rectangulo
public Cuadrilatero(float lado1, float lado2) {
this.lado1 = lado1;
this.lado2 = lado2;
}
//Metodo constructor de un cuadrado
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;
}
}
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 ARRIBA, ABAJO,
IZQUIERDA y DERECHA. Tras cada movimiento el programa mostrará la nueva dirección
elegida y las coordenadas de situación del objeto dentro del tablero.
package Tablero2;
public class Tablero {
private int x;
private int y;
public Tablero(int x, int y) {
this.x = x;
this.y = y;
}
public void moverArriva(int incremento) {
y += incremento;
}
public void moverAbajo(int decremento) {
y -= decremento;
}
public void moverDerecha(int incremento) {
x += incremento;
}
public void moverIzquierda(int decremento) {
x -= decremento;
}
public int getX() {
return x;
}
public int getY() {
return y;
}
}
package Tablero2;
import java.util.Scanner;
public class Movimientos {
public static void main(String[] args) {
Scanner imprimir = new Scanner(System.in);
int x;
int y;
int opcion;
int incremento = 0;
System.out.println("Digite ;la posisicion inicial de x : ");
x = imprimir.nextInt();
System.out.println("Digite ;la posisicion inicial de y : ");
y = imprimir.nextInt();
Tablero tablero = new Tablero(x, y);
do {
System.out.println("\n\tMENU");
System.out.println("1 . Mover hacia Arriba ");
System.out.println("2 . Mover hacia la Derecha");
System.out.println("3 . Mover hacia Abajo");
System.out.println("4 . Mover hacia la Izquierda");
System.out.println("5 . Salir");
System.out.print("Digite una opcion : ");
opcion = imprimir.nextInt();
if (opcion != 5) {
System.out.println("\nDigite el Incremento o
Decremento de una cordenada : ");
incremento = imprimir.nextInt();
}
switch (opcion) {
case 1:
tablero.moverArriva(incremento);
break;
case 2:
tablero.moverDerecha(incremento);
break;
case 3:
tablero.moverAbajo(incremento);
break;
case 4:
tablero.moverIzquierda(incremento);
break;
case 5:
System.out.println("\nPosision actual (x) : (y) es ("
+ tablero.getX() + "):(" + tablero.getY() + ")");
opcion = 5;
break;
default:
System.out.println("\nLa aopcion no existe vuelva
a digitar");
break;
}
System.out.println("\nPosision actual (x) : (y) es (" +
tablero.getX() + "):(" + tablero.getY() + ")");
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
int numeroVehiculos, indiceBarato;
System.out.println("Digite la cantidad de vehiculos: "); numeroVehiculos = imprimir.nextInt();
//creamos los objetos para los coches
Veicuclo coches[] = new Veicuclo [numeroVehiculos];
package Ejercicio3_POO; import java.util.Scanner; public class Principal {
public static int indiceCocheMBarato(Veicuclo coches[]) { float precio;
int indice = 0;
precio = coches[0].getPrecio();
for (int i = 1; i < coches.length; i++) { if (coches[i].getPrecio() < precio) {
precio = coches[i].getPrecio(); indice = i;
}
}
return indice;
}
public static void main(String[] arg) {
Scanner imprimir = new Scanner(System.in); String marca, modelo;
float precio;
int numeroVehiculos, indiceBarato;
System.out.println("Digite la cantidad de vehiculos: "); numeroVehiculos = imprimir.nextInt();
//creamos los objetos para los coches
Veicuclo coches[] = new Veicuclo [numeroVehiculos];
for (int i = 0; i < coches.length; i++) { imprimir.nextLine();
System.out.println("\nDigite las caracteristicas del coche " + (i + 1) + ":"); System.out.print("Introdusca la
Marca del coche: ");
marca = imprimir.nextLine(); System.out.print("Digite el Modelo del Coche: "); modelo =
imprimir.nextLine(); System.out.print("Introdusca el Precio del Coche: "); precio =
imprimir.nextFloat();
coches[i] = new Veicuclo (marca, modelo, precio);
indiceBarato = indiceCocheMBarato(coches);
System.out.println("\nElcoch
e mas barato es: ");
System.out.println(coches[indi
ceBarato].mostrarDatod());
package Ejercicio3_POO; public class Veicuclo { private String marca; private String modelo;
private float precio;
//metodo cosntructor
public Veicuclo(String marca, String modelo, float precio) {
this.marca = marca; this.modelo = modelo; this.precio = precio;
}
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.
package Ejercicio4_poo; public class Atleta { private int numero_atleta; private
String nombre;
private float tiempo_carrera;
//Metodo constructor
public Atleta(int numero_atleta, String nombre, float tiempo_carrera) {
this.numero_atleta = numero_atleta; this.nombre = nombre; this.tiempo_carrera = tiempo_carrera;
}
public float getTiempo_carrera() { return tiempo_carrera;
}
public String mostrarDatod(){
return"numero del atleta: "+numero_atleta+"\nNombre: "+nombre+"\nTiempo en carrera:
"+tiempo_carrera+"\n";
}
}
package Ejercicio4_poo; import java.util.Scanner; public class Pincipal {
public static int atletaMasrapido(Atleta corredor[]){ float tiempo_carrera;
int numero_atleta = 0;
tiempo_carrera =corredor[0].getTiempo_carrera(); for (int i=1; i<corredor.length; i++){
if (corredor[i].getTiempo_carrera()<tiempo_carrera){ tiempo_carrera=corredor[i].getTiempo_carrera();
numero_atleta = i;
}
}
return numero_atleta;
}
public static void main(String[] arg) {
Scanner imprimir = new Scanner(System.in); String nombre;
float tiempo_carrera;
int numero_atleta, atletaMasrapido, atletaRapido;
System.out.println("Digite la cantida de Atletas: "); numero_atleta = imprimir.nextInt();
// creamos los bojetos para los corredores Atleta corredor[] = new Atleta[numero_atleta];
atletaRapido= atletaMasrapido(corredor); System.out.println("\nEl Atleta mas rapido es: ");
");
System.out.println(corredor[atletaRapido].mostrarDatod for (int i = 0; i < corredor.length; i++) {
imprimir.nextLine();
System.out.println("\nDigite las caracteristicas del Atleta " +(i + 1)+":");
System.out.print("Introdusca el nombre del Atleta:
nombre=imprimir.nextLine(); System.out.print("Digite el numero del Atleta: ");
numero_atleta=imprimir.nextInt(); System.out.print("Digite el tipo que en carrera: ");
tiempo_carrera=imprimir.nextFloat();
e
corredor[i]=new Atleta(numero_atleta, nombre, tiempo_carrera);
Ejercicio 5:
Diseñar un programa para trabajar con triángulos isósceles. Para ello defina los atributos necesarios
que se requieren, proporcione métodos de consulta, un método constructor e implemente métodos para
calcular el perímetro y el área de un triángulo, además implementar un método que a partir de un
arreglo de triángulos devuelva el área del triángulo de mayor superficie.
package Ejercicio5_poo; public class Triangulo { private double base; private double lado;
//metos constructor
public Triangulo(double base, double lado) { this.base = base;
this.lado = lado;
}
public double obtenerPerimetro(){ double perimetro = 2* lado+base; return perimetro;
}
public double obtenerArea(){
double area =(base*Math.sqrt((lado*lado)- ((base*base)/4)))/2;
return area;
}
public String mostrarDatos(){ return "base: "+base+"\nLado:
"+lado+"\nperimetro: "+obtenerPerimetro()+"\nArea: "+obtenerArea()+"\n";
}
}
package Ejercicio5_poo;
import java.util.Scanner; public class Principal {
public static double mayorArea(Triangulo triangulos[]){
double area; area=triangulos[0].obtenerArea(); for(int i=1;i<triangulos.length;i++){ if(triangulos[i].obtenerArea()>area){
area=triangulos[i].obtenerArea();
}
}
return area;
}
public static void main(String[] arg){ Scanner imprimir = new Scanner (System.in); double base, lado;
int nTriangulos;
System.out.println("Digite elnumero de triangulos para calcular area y perimetro ");
nTriangulos=imprimir.nextInt();
Triangulo triangulos[]=new Triangulo [nTriangulos]; for(int i=0;i<triangulos.length;i++){
System.out.println("\nDigite los valores para el triangulo"+(i+1)+".");
System.out.println("Introdusca la Base: "); base=imprimir.nextDouble(); System.out.println("Digite
el lado: "); lado=imprimir.nextDouble();
triangulos[i]=new Triangulo(base, lado);
System.out.println("\nEl perimetro del triangulo es: "+triangulos[i].obtenerPerimetro());
System.out.println("\nEl area de triangulo es "+triangulos[i].obtenerArea());
}
System.out.println("\nEl area del triangulo de mayor superficie es "+mayorArea(triangulos));
}
Ejercicio 6: Construir un programa para trabajar con 2 números complejos, implemente el siguiente
menú: 1. Sumar dos números complejos 2. Multiplicar 2 números complejos 3. Comparar 2 números
complejos (iguales o no) 4. Multiplicar un número complejos por un entero
package Ejercicio6_poo; public
class Numerocomplejo {
private final double a;//ALMACENAR LA PARTE REAL private final
double b;//ALMACENA LA PARTE IMAGINARIA
public Numerocomplejo(double a, double b) { this.a
= a;
this.b = b;
}
public double getA(){
return a;
}
//RESOLVER LA SUMA DE NUMEROS COMPLEJOS
public Numerocomplejo calcularSuma(Numerocomplejo c){
Numerocomplejo suma = new
Numerocomplejo(a+c.getA(),b+c.getB());
return suma;
}
public Numerocomplejo
calcularProducto(Numerocomplejo c){
Numerocomplejo mult = new Numerocomplejo((a
*c.getA()-b *c.getB()),(b *c.getB()+a *c.getA())); return
mult;
}
public boolean comprobarIgualdad(Numerocomplejo c){
boolean igualdad=false;
if((a==c.getA())&&(b==c.getB())){
igualdad = true;
}
return igualdad;
public double getB(){
return b;
}
package Ejercicio6_poo;
import java.util.Scanner;
}
public Numerocomplejo multiplicarPorEntero(int x){
Numerocomplejo mult = new
Numerocomplejo(a*x,b*x);
return mult;
public class Principal {
}
}
public static void main(String[] args) { Scanner
entrada = new Scanner (System.in);
Numerocomplejo numero1, numero2, suma, mult; double a, b,
c, d;
int opcion, numero; do{
System.out.println("\t: Operaciones con numeros comlejos");
System.out.println("1. Sumar los numeros complejos"); System.out.println("2.
Multiplicar los numeros complejos"); System.out.println("3. Comparar numeros
complejos"); System.out.println("4. Multiplicar numero imaginario y numero
real"); System.out.println("5. Salir");
System.out.println("Digite la opcion del menu: ");
opcion=entrada.nextInt();
switch (opcion){
case 1: System.out.println("\nDigite el primer numero complejo");
System.out.print("Digite la parte real: ");
a = entrada.nextDouble(); System.out.print("Digite la
parte imaginaria: "); b = entrada.nextDouble();
System.out.print("Digite el segundo numero complejo: "); c =
entrada.nextDouble();
System.out.print("Digite el segundo numero real: "); d =
entrada.nextDouble();
numero1 = new Numerocomplejo(a,b); numero2 =
new Numerocomplejo(c,d);
suma = numero1.calcularSuma(numero2); System.out.println("\n
La suma es: "+suma.getA()+" +
"+suma.getB()+"i");
break;
case 2: System.out.println("\nDigite la parte real: "); System.out.print("Digite la
parte real: ");
a = entrada.nextDouble(); System.out.print("Digite la
parte imaginaria: "); b = entrada.nextDouble();
System.out.print("\nDigite el segundo numero complejo: "); c =
entrada.nextDouble();
numero1 = new Numerocomplejo(a,b); numero2 =
new Numerocomplejo(c,d);
mult = numero1.calcularProducto(numero2); System.out.println("\nLa
multiplicacion es: "+mult.getA()+" +
"+mult.getB()+"i");
break;
case 3: System.out.println("\nDigite el primer numero complejo");
System.out.print("Digite la parte real: ");
a = entrada.nextDouble(); System.out.print("Digite la
parte imaginaria: "); b = entrada.nextDouble();
System.out.print("\nDigite el segundo numero complejo: "); c =
entrada.nextDouble();
System.out.print("Digite el segundo numero real: "); d =
entrada.nextDouble();
numero1 = new Numerocomplejo(a,b); numero2 =
new Numerocomplejo(c,d);
if(numero1.comprobarIgualdad(numero2)){ System.out.println("\nLos numeros
complejos son iguales");
}
else{
System.out.println("\nLos numeros complejos son diferentes");
}
break;
case 4: System.out.println("\nDigite el primer numero complejo");
System.out.print("Digite la parte real: ");
a = entrada.nextDouble(); System.out.print("Digite la
parte imaginaria: "); b = entrada.nextDouble();
System.out.print("Digitar el numero entero: "); numero
= entrada.nextInt();
numero1 = new Numerocomplejo (a,b);
mult = numero1.multiplicarPorEntero(numero); System.out.println("\nLa
multiplicacion es: "+mult.getA()+" +
"+mult.getB()+"i");
Ejercicio 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 caracteriza por su nombre, apellido y DNI. El
cliente puede consultar saldo, así como ingresar y retirar dinero de sus cuentas. Además cada cuenta se
caracteriza por un número de cuenta y un saldo
package Ejercicio7_Poo;
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=saldo+cantidad;
}
public void retiraDinero (double cantidad){ saldo=saldo-cantidad;
}
}
package Ejercicio7_Poo; public class Cliente { private String nombre;
private String apellido; private String dni; Cuenta cuentas[];
public Cliente(String nombre, String apellido, String dni,Cuenta[]cuentas) {
this.nombre = nombre; this.apellido = apellido; this.dni = dni;
this.cuentas=cuentas;
}
public String getNombre() { return nombre;
}
public String getApellido() { return apellido;
}
public String getDni() { return dni;
}
public double consultar_saldo (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].retiraDinero(cantidad);
}
}
package Ejercicio7_Poo; import java.util.Scanner;
public class Principal {
public static int buscarNumeroCuenta(Cuenta cuentas[], int n) { int i = 0, indice = 0;
boolean encontrado = false;
//Metodo de Busqueda Secuencial
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 imprimir = new Scanner(System.in);
int opcion, numeroCuenta, nCuentas, indiceCuenta; double saldo, cantidad;
String nombre, apellido, dni;
Cuenta cuentas[];
Cliente cliente;
System.out.println("Digite el nombre del cliente: "); nombre = imprimir.nextLine(); System.out.println("Digite
el apellido del cliente: "); apellido = imprimir.nextLine(); System.out.println("Digite el DNI del cliente: "); dni
= imprimir.nextLine();
System.out.println("Digite el numero de cuenta del cliente: "); nCuentas = imprimir.nextInt();
cuentas = new Cuenta[nCuentas];
for (int i = 0; i < cuentas.length; i++) {
System.out.println("\nDigite los datos para la cuenta " + (i + 1) + ".- "); System.out.println("Digite el
numero de cuenta: ");
numeroCuenta = imprimir.nextInt(); System.out.println("Digite el salldo de la cuenta: "); saldo =
imprimir.nextDouble();
cuentas[i] = new Cuenta(numeroCuenta, saldo);
}
cliente = new Cliente(nombre, apellido, dni, cuentas); do {
System.out.println("\t\n:BIENVENIDO AL CAJERO"); System.out.println("1.- Ingresar dinero a la cuenta");
System.out.println("2.- Retirar dinero a la cuenta"); System.out.println("3.- Consultar saldo");
System.out.println("4.- Salir");
System.out.println("Digite la opcion que desce del menu"); opcion = imprimir.nextInt();
switch (opcion) { case 1:
System.out.print("\nDigite el numero de cuenta"); numeroCuenta = imprimir.nextInt();
indiceCuenta = buscarNumeroCuenta(cuentas, numeroCuenta); if (indiceCuenta == -1) {
System.out.println("\nEl numero de cuenta no existe");
} else {
System.out.println("Digite la cantidad de dinero a ingresar: "); cantidad = imprimir.nextDouble();
cliente.ingresar_dinero(indiceCuenta, cantidad); System.out.println("Deposito correcto");
System.out.println("Saldo disponible: " + cliente.consultar_saldo(indiceCuenta));
}
break; case 2:
System.out.print("\nDigite el numero de cuenta"); numeroCuenta = imprimir.nextInt();
indiceCuenta = buscarNumeroCuenta(cuentas, numeroCuenta); if (indiceCuenta == -1) {
Ejercicio 8 una empresa de envío de paquetes tiene varias sucursales en todo el país,
cada sucursal esta definida por un numero de sucursales , dirección y ciudad para
calcular el precio que cuesta enviar cada paquete la sucursal tiene en cuneta el precio
del paquete y la prioridad sabiendo que se cobrará un dólar por kilo , 10 dólares más la
prioridad de salta y 20 si es express cada paquete enviado tendrá un numero de
referencia y el ID de cada persona que lo envia
package Ejercicio8_POO
public class Paquete { private int numeroPaquete; private String dni;
private double peso;
private int prioridad; //0=norma, 1=alta, 2=expres
public Paquete(int numeroPaquete, String dni, double peso, int prioridad){
this.dni = dni; this.peso = peso;
this.prioridad = prioridad;
}
public int getNumeroPaquete(){ return numeroPaquete;
}
public String getDni(){ return dni;
}
public double getPeso(){ return peso;
}
public int getPrioridad(){ return prioridad;
}
public String mostrarDatosPaquete(){ return "Numero de paquete:
"+numeroPaquete+"\nDNI: "+dni+"\nPrioridad: "+prioridad;
}
}
package Ejercicio8_POO; import java.util.Scanner;
public class principal {
public static int buscarPaquete(Paquete t[], int numeroPaquete, int contadorPaquete){ int indice = 0;
boolean encontrado = false;
for(int i=0;i<contadorPaquete;i++){ if(t[i].getNumeroPaquete()==numeroPaquete){
encontrado = true; indice = i;
}
}
if(encontrado == false){ indice = -1;
}
return indice;
}
public static int buscarSucursal(Sucursal t[], int numeroSucursal, int contadorSucursal){ int indice = 0;
boolean encontrado = false;
for(int i=0;i<contadorSucursal;i++){ if(t[i].getNumeroSucursal()==numeroSucursal){
encontrado = true; indice = i;
}
}
if(encontrado == false){ indice = -1;
Ejercicio de practica
Ejercicio 1.1
CLASE MAIN
package Ejercicio1;
import javax.swing.JOptionPane;
public class Principal {
public static void main(String[] args) {
Cuadrilatero c1;
float lado1, lado2;
lado1 = Float.parseFloat(JOptionPane.showInputDialog("Digite el lado 1: "));
lado2 = Float.parseFloat(JOptionPane.showInputDialog("Digite el lado 2: "));
if(lado1 == lado2){//si es un cuadrado
c1 = new Cuadrilatero(lado1);
}
else{
c1 = new Cuadrilatero (lado1, lado2);
}
System.out.println("El perimetro es "+c1.getPerimetro());
System.out.println("El area es: "+c1.getArea());
}
}
Ejercicio 3
package Ejercicio3_POO;
public class Vehiculo {
private String marca;
private String modelo;
private float precio;
public Vehiculo(String marca, String modelo, float precio) {
this.marca = marca;
this.modelo = modelo;
this.precio = precio;
}
public float getPrecio() {
return precio;
}
public String mostrarDatos(){
return "Marca: "+marca+" Modelo: "+modelo+" Precio: $ "+precio+"\n";
}
}
Ejercicio 3.1
package Ejercicio3_POO;
import java.util.Scanner;
public class Principal {
public static int indiceCocheMBarato(Vehiculo coches[]){
float precio;
int indice=0;
precio=coches[0].getPrecio();
for(int i=1;i<coches.length;i++){
if(coches[i].getPrecio()<precio){
precio=coches[i].getPrecio();
indice=i;
}
}
return indice;
}
public static void main(String[] args) {
Scanner entrada=new Scanner (System.in);
String marca;
String modelo;
float precio;
int numeroVehiculos, indiceBarato;
System.out.println("Digite cuantos vehiculos son: ");
numeroVehiculos=entrada.nextInt();
//crear los objetos para los vehiculos
Vehiculo coches[] = new Vehiculo[numeroVehiculos];
for(int i=0; i<coches.length;i++){
entrada.nextLine();
System.out.println("\nDigite las caracteristicas del coche "+(i+1)+": ");
System.out.print("Introduzca la marca: ");
marca=entrada.nextLine();
System.out.print("Introduzca el modelo: ");
modelo=entrada.nextLine();
System.out.print("Introduzca el precio: ");
precio=entrada.nextFloat();
coches[i] = new Vehiculo(marca, modelo, precio);
}
indiceBarato = indiceCocheMBarato(coches);
System.out.println("\nEl coche más barato es: ");
System.out.println(coches[indiceBarato].mostrarDatos());
}
}
Descargar