epelpad

Ejercicios Resueltos de Programación Básicos 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=arregloo1;
}
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);
}
}

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

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


}

}

Captura:





Espero les sea de ayuda mis estimados.
Realizados por Ivan Luis Jimenez

2 comentarios - Ejercicios Resueltos de Programación Básicos en JAVA

Gryfinarg
Escriba un algoritmo que recorra un abb y sume los nodos de un nivel n