jueves, 8 de marzo de 2018

Ejercicios POO

Ejercicios de Programación Orientada a Objetos

Ahora que conocemos la programación orientada a Objetos en JAVA ahora realizaremos unos ejercicios.

1. Construir un programa que dada una serie de vehículos caracterizados por su marca, modelo y precio, imprima las propiedades del vehículo mas barato. Para ello, se deberán leer por teclado las características de cada vehículo y crear una clase que represente a casa uno de ellos.


package POOejercicio01;
import java.util.Scanner;

public class Vehiculo {
    public static int indiceCochesMBarato(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;
    }
    
    private String marca;
    private String modelo;
    private float precio;
    
    //Constructor
    public Vehiculo(String marca, String modelo, float precio) {
        this.marca = marca;
        this.modelo = modelo;
        this.precio = precio;
    }

    public float getPrecio() {
        return precio;
    }
    
    public String mostrarDatos(){
        return "Marca: "+marca+"\nModelo: "
                +modelo+"\nPrecio: $"+precio+"\n";
    }
    
    public static void main (String[] args){
        String marca,modelo;
        float precio;
        int Nvehiculos, indiceBarato;
        Scanner leer = new Scanner(System.in);
        
        System.out.print("Ingrese la cantidad de vehiculos: ");
        Nvehiculos = leer.nextInt();
        
        //Crear objetos para los coches
        Vehiculo coches[] = new Vehiculo[Nvehiculos];
        
        for (int i = 0; i < coches.length; i++) {
            leer.nextLine();
            System.out.println("\nIngrese las carateristicas del"
                    + " coche "+(i+1)+":");
            System.out.print("Ingrese MARCA: ");
            marca = leer.nextLine();
            System.out.print("Ingrese MODELO: ");
            modelo = leer.nextLine();
            System.out.print("Ingrese PRECIO: ");
            precio = leer.nextFloat();
            
            coches[i] = new Vehiculo(marca, modelo, precio);
        }
        
        indiceBarato = indiceCochesMBarato(coches);
        
        System.out.println("\nEl coche mas barato es: ");
        System.out.println(coches[indiceBarato].mostrarDatos());
    }
}


Al ejecutar el programa:



2. Construir un programa que calcule el area y el perimetro de un 
cuadrilátero dada la longitud de sus 2 lados. Los Valores de la longitud deberán introducirse por lineas de ordenes. Si es un cuadrado, solo se proporcionara la longitud de uno de sus lados al constructor.

package POOejercicio01;
import javax.swing.JOptionPane;

public class Cuadrilatero {
    private float lado1;
    private float lado2;
    
    //Metodos
    //Met.Constuctor1 
    public Cuadrilatero(float lado1, float lado2) {
        this.lado1 = lado1;
        this.lado2 = lado2;
    }
    //MEt. COnstruc 2 si es 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;
    }
    
    public static void main (String[] args){
        Cuadrilatero c1;
        float lado1,lado2;
        
     lado1=Float.parseFloat(JOptionPane.showInputDialog("Ingrese        el lado 1: ")); //que esté en una linea
     lado2=Float.parseFloat(JOptionPane.showInputDialog("Ingrese        el lado 2: "));// que esté en una linea
        
        if(lado1 == lado2){//Es un cuadrado
            c1 = new Cuadrilatero(lado1);
        }else{//Cuadrilatero
            c1 = new Cuadrilatero(lado1, lado2);
        }
        
     System.out.println("El perimetro es: "+c1.getPerimetro()+" m");
        System.out.println("El area es: "+c1.getArea()+" m2");
    }
    
}

Al ejecutar ingresemos, 23 y 41:



3. Calcular el perímetro y el área de N triángulos isósceles; realizar un arreglo para determinar cual de los triangulos tiene mayor superficie:

package POOejercicio01;
import java.util.Scanner;

public class TrianguloIsosceles {
    public static float areaMayor(TrianguloIsosceles triangulos[]){
        float area;
        
        area = triangulos[0].getArea();
        for (int i = 1; i < triangulos.length; i++) {
            if(triangulos[i].getArea() > area){
                area = triangulos[i].getArea();
            }
        }
        return area;
    }
    
    private float base;
    private float lado;

    public TrianguloIsosceles(float base, float lado) {
        this.base = base;
        this.lado = lado;
    }
    
    public float getPerimetro(){
        float perimetro = 2*(lado)+base;
        return perimetro;
    }
    public float getArea(){
        float area = (float) (base * 
                Math.sqrt((lado * lado)-((base * base)/4))/2);
        return area;
    }
    
    public static void main (String[] args){
        float base, lado;
        int Ntriangulos;
        Scanner leer = new Scanner(System.in);
        
        System.out.print("Ingrese el Numero de Triangulos: ");
        Ntriangulos = leer.nextInt();
                                                                                                                      TrianguloIsosceles triangulos[] = new                                                  TrianguloIsosceles[Ntriangulos]; //una sola linea
        for (int i = 0; i < triangulos.length; i++) {
            System.out.println("\nIngrese los Valores para el triangulo "
                    +(i+1)+":");
            System.out.print("Ingrese la Base: ");
            base = leer.nextFloat();
            System.out.print("Ingrese el lado: ");
            lado = leer.nextFloat();
            
            triangulos[i] = new TrianguloIsosceles(base, lado);
            
            System.out.println("\nEl perimetro del triangulo "
            +(i+1)+" es: "
                    +triangulos[i].getPerimetro()+" m2");
            System.out.println("El Area del Triangulo "+(i+1)+" es: "
                    +triangulos[i].getArea()+" m2");
        }
        
        System.out.println("\nEl area de Mayor Superficie es: "
                +areaMayor(triangulos));
    }
}

Al ejecutar la aplicación: 


Esto seria todo



Compartir:

PAG WEB de Farmacia con HTML5 y CSS

Interfaz Principal de la Página Tamaño de Escritorio: Tamaño de Tablet: Tamaño de Celular Movil: Armado de l...