Filtro CPL Polarizado ventajas

Ejercicios Resueltos de Programación Orientada a Objetos I (Básicos- Realizados en JAVA)

PROBLEMAS RESUELTOS DE PROGRAMACIÓN BÁSICOS, REALIZADOS EN JAVA.

Ejercicio 1:
Intentar escribir un programa en java que lea 3 números e indique el tipo de triangulo que forman (Isósceles, equilatero, escaleno), comprobar que los números realmente formen un triangulo, sino emitir el error.

Código:

package tipo_triangulo;

import java.util.Scanner;//se exporta el paquete scanner para poder leer los datos desde el teclado

public class Tipo_Triangulo {//Nombre de la clase

    private Scanner teclado;
    private int lado1, lado2, lado3;

    //Declaro el método leer_datos especialmente para leer datos
    public void leer_lados() {
        teclado = new Scanner(System.in);
        System.out.print("Medida lado 1:");
        lado1 = teclado.nextInt();
        System.out.print("Medida lado 2:");
        lado2 = teclado.nextInt();
        System.out.print("Medida lado 3:");
        lado3 = teclado.nextInt();
    }

    //Declado el método comparar_datos que define si se puede formar el triangulo, en caso de que si,
    //se compara los lados para definir que tipo de triangulo es, en caso de que no, se manda el error
    //de que no se puede formar el triangulo
    public void comparar_lados() {
        //declado una variable b de tipo boleano, iniciada en falso
        boolean b = false;
        //Condicional que decide si el triángulo se puede formar o no
        if (((lado1 + lado2) > lado3) && ((lado1 + lado3) > lado2) && ((lado2 + lado3) > lado1)) {
            //Si se cumple la condicional anterior, entonces definimos que tipo de triángulo es

            if ((lado1 == lado2) && (lado1 == lado3) && (lado2 == lado3)) {
                //Si todos sus lados son iguales, entonces se imprime "equilatero"
                System.out.println("Según sus lados es un triángulo equilátero");
                //Y se pone la variable ahora en verdadero
                b = true;
            }
            //si la variable es falsa, es decir, que lo anterior no se haya cumplido, entra en el siguiente condicional
            if (b == false) {
                if ((lado1 == lado2) || (lado1 == lado3) || (lado2 == lado3)) {
                    //Si al menos dos lados son iguales se imprime "Isósceles"
                    System.out.println("Según sus lados es un triángulo isósceles");
                }
            }

            if ((lado1 != lado2) && (lado1 != lado3) && (lado2 != lado3)) {
                //Si todos los lados son diferentes se imprime "Escaleno"
                System.out.println("Según sus lados es un triángulo escaleno");
            }

        } else {
            //Sino se cumple el primer condicional se imprime que no se puede formar el triángulo
            System.out.println("[ERROR] No se puede formar el triángulo");
        }
    }

    //El método principal en el cual se mandan a llamar todos los métodos
    public static void main(String[] args) {
        //Creo un onjeto de tipo triangulo, para poder usar los métods de esa clase
        Tipo_Triangulo llamar = new Tipo_Triangulo();
        //Mando a llamar el método leer_datos
        llamar.leer_lados();
        //Mando a llamar el método comparar_lados
        llamar.comparar_lados();
    }

}

Captura:




Ejercicio 2:
Crear un programa en java que lea cantidades y precios y al final indique el total de la factura, primero se pregunta: Introduzca la cantidad vendida, tras lo cual el usuario introducirá un numero entero positivo, después se pregunta: Introduzca el precio que sera un numero decimal positivo, la lectura termina cuando en la cantidad se introduzca un cero, si es así se escribirá el total.

Código:

package factura;

import java.util.Scanner;//Se importa la clase scanner para poder leer los datos del teclado

public class Factura {//Nombre de la clase

    Scanner datos = new Scanner(System.in);//creo un objeto de tipo scanner para leer datos (cantidad)
    Scanner datos1 = new Scanner(System.in);//creo un objeto de tipo scanner  para leer datos (precio)

    public void factura() {
        int cantidad = 1;//Declaro la variable cantidad inicializada a 1, si intriduce 0 al principio NO ALTERA
        double precio = 0.0;//Declaro la variable precio inicializada a 0.0
        int pro = 1;//Contador que indica el numero de producto
        double total = 0;//Variable que guarda el total a pagar 
        while (cantidad != 0) {
            System.out.println("PRODUCTO " + pro);
            System.out.println("Teclee la cantidad");

            cantidad = datos.nextInt();//Se almacena el la cantidad tecleada en la variable cantidad
            if (cantidad != 0) {//Si el dato introducido es diferente a 0, se procede a leer el precio, si es igual a 0 se interrumpe el proceso con break
                System.out.println("Teclee el precio");
                precio = datos1.nextDouble();//Se lee el dato y se almacena en la variable precio

                total = total + (cantidad * precio);//Se almacena el total, sumando el total anterior mas el producto de cantidad y precio
                pro++;//El contador del producto de aumenta en un
            } else {
                break;//Si el usuario teclee 0 en el priducto, se interrumpe la operación
            }
        }
        System.out.println("=====  F A C T U R A =====");//Se imprimen los datos (factura)
        System.out.println("Cuenta total $" + total);
    }

    public static void main(String[] args) {
        Factura objeto = new Factura();//Se crea un objeto de tipo Factura para mandar a llamar el método
        objeto.factura();//Se manda a llamar el metodo factura
    }

}

Captura:



Ejercicio 3:
Crear un programa en Java para calcular los salario semanal de unos empleados a los que se les paga 15 euros por hora si éstas no superan las 35 horas, cada hora por encima de 35 se considera extra y se paga a 22 euros, el programa pide las horas del trabajador y devuelve el salario que se le debe pagar, además el programa debe preguntar si deseamos calcular otro salario, si es asi el programa se vuelve a repetir.

Código:

package salario_semanal;

import java.util.Scanner;

public class Salario_Semanal {

    Scanner leer = new Scanner(System.in);//Objeto para leer de enteros
    Scanner leer2 = new Scanner(System.in);//Objeto para leer cadena

    int horas = 0;//Variables para leer las horas
    String estado = "";//Variable para la condicional si continua o no el proceso
    int salario=0;//Variable que almacena el salario de los 35 días
    int resto;//Variable que almacena las horas después de 35
    int pre;//Variable que almacena el salario después de los 35 días
    public void proceso() {//Método que realiza el proceso
        do {//Inicio del ciclo do while
            System.out.println("Teclee las horas trabajadas");
            horas = leer.nextInt();//Se lee las horas trabajadas
            if ( horas > 35 ) {//Condicional, si horas es mayor a 35
              resto=horas-35;//Cálcula las horas después de 35
              horas=35;//Se iguala a 35, tomando en cuenta que las horas es mayor 35
              pre=resto*22;//Se multiplica el total de horas extras
            }
            salario=horas*15;//Se multiplica las horas normales por 15
            System.out.println("Salario $"+(pre+salario));//Se imprime la suma de las horas extras y normales
            System.out.println("¿Desea repetir nuevamente? (s/n)");//Se pregunta al usuario si quiere continuar
            estado=leer2.nextLine();
        } while ((estado == "s") || (estado == "S"));//Si preciona "s" continua el proceso
        
    }

    public static void main(String[] args) {
        Salario_Semanal llamar=new Salario_Semanal();//Se crea un objeto de tipo Salario_Semanal
        llamar.proceso();//Se manda a llamar el método
    }

}

Captura:



Ejercicio 4:
Crear un programa que contenga una función llamada copiarArray que reciba dos arrays y el tamaño de los mismos (deben ser del mismo tamaño) y que consiga copia en el segundo array el contenido del primero.

Código:

package copia_arreglo;

import java.util.Scanner;//Se importa la clase scanner para leer los datos

public class Copia_Arreglo {//Nombre de la clase

    public void copiarArray(int[] arregloo1, int[] arregloo2, int tamañoo) {//Método que recive dos arreglos y el tamaño
        for (int i = 0; i < tamañoo; i++) {//Pasa los datos del arreglo 1 al arreglo 2
            arregloo2[i]=arregloo1[i];
        }
        Copia_Arreglo objeto=new Copia_Arreglo();//Crea un objeto para mandar a llamar el otro método
        objeto.mostrar_arreglo(arregloo2);//Se manda a llamar el método  para mostrar los datos, le manda como  parametro el arreglo 2 (el que decea mostrar) 
    }
    
    public void mostrar_arreglo(int []arreglo2){//Método para mostrar el arreglo 2
        for (int i = 0; i < arreglo2.length; i++) {
            System.out.println("DATOS DEL ARREGLO 2");
            System.out.println("Dato "+arreglo2[i]);
        }
    }

    public static void main(String[] args) {
        Scanner teclado = new Scanner(System.in);//Objeto de tipo escaner para leer los datos
        Copia_Arreglo objeto = new Copia_Arreglo();//Objeto para mandar a llamar el método y mandarle los arreglos y el tamaño
        int tamaño;//Variable que guarda el tamaño del arreglo
        int[] arreglo1;//Declaración del arreglo 1
        int[] arreglo2;//Declaración del arreglo 2
        System.out.println("Teclee el tamaño del arreglo");
        tamaño = teclado.nextInt();//Lectura del tamaño del arreglo
        arreglo1 = new int[tamaño];//Se crea el arreglo 1 con el tamaño
        arreglo2 = new int[tamaño];//Se crea el arreglo 2 con el tamaño
        
        for (int i = 0; i < arreglo1.length; i++) {//Se llena el arreglo 1
            System.out.println("Dato " + (i + 1));
            int dato = teclado.nextInt();
            arreglo1[i] = dato;
        }

        objeto.copiarArray(arreglo1, arreglo2, tamaño);//Se manda el arreglo 1, 2 y el tamaño
        

    }

}

Captura:



Realizados por Iván Luis Jiménez (Ivanovich)

Comentarios