Java - Ejercicios resueltos de Listas 02

 
Vista:

Ejercicios resueltos de Listas 02

Publicado por burlon (14 intervenciones) el 20/03/2015 11:43:26
Realiza un programa en el almacenes una lista de objetos de la clase VENTA cuyos atributos son 2:
Nombre de Mes.
Ventas de coches del mes.
Se mostrará un menú en el que se le ofrezcan al usuario las siguientes opciones:
1.- Introducir las ventas de coches de cada uno de los meses del año .
2.- Mostrar las ventas introducidas en el punto anterior.
3.- Que muestre la suma total de ventas de coches del año.
4.- Que muestre las ventas totales de los meses que empiezan por la letra A. (Utiliza el método correspondiente de la clase String)
5.- Que muestre el nombre del mes con más ventas.
6.- Salir del programa.
Controlaremos que el usuario elija una opción del menú entre 1 y 6.
Hasta que el usuario no pulse 6 no saldremos del programa.

public class Venta {

String nombreMes;
Integer numeroVentas;

public Venta() {
establecerNombreMes();
establecerNumVentas();
}

public void establecerNombreMes() {

Scanner teclado = new Scanner(System.in);

System.out.println("Nombre del Mes: ");
nombreMes = teclado.nextLine();

}

public String devolverNombreMes(){

return nombreMes;
}
public Integer devolverNumVentas(){

return numeroVentas;
}
public void establecerNumVentas() {

Scanner teclado = new Scanner(System.in);

System.out.println("Numero de ventas producidas en " + nombreMes + ": ");
numeroVentas = teclado.nextInt();

}

public static void mostrarMenu(ArrayList <Venta> lista) {

Integer opcion;
Scanner teclado = new Scanner(System.in);

System.out.println("-----------Ventas De Coches--------");

do {
System.out.println(" 1.- Introducir las ventas de coches de cada uno de los meses del año .");
System.out.println(" 2.- Mostrar las ventas introducidas en el punto anterior.");
System.out.println(" 3.- Que muestre la suma total de ventas de coches del año.");
System.out.println(" 4.- Que muestre las ventas totales de los meses que empiezan por la letra A. (Utiliza el método correspondiente de la clase String)");
System.out.println(" 5.- Que muestre el nombre del mes con más ventas.");
System.out.println(" 6.- Salir del programa.");

opcion = teclado.nextInt();

switch(opcion){

case 1 : {

rellenarVentas(lista);
break;

}
case 2 : {

mostrarVentas(lista);
break;
}
case 3 : {

mostrarSumaVentas(lista);
break;
}
case 4 : {
mostrarSumaMesesStartA(lista);
break;
}
case 5 : {
mesMaVentas(lista);
break;
}
case 6 : {
System.out.println("Gracias!!!!! por usar este programa");
break;
}

default: {

System.out.println("Introduce un valor entre 1 y 6");

}
}

} while (opcion != 6);

}

public static void rellenarVentas(ArrayList <Venta> lista) {
Scanner teclado = new Scanner(System.in);

String respuesta;

do {

System.out.println("Datos del Mes");
lista.add(new Venta());
System.out.println("¿Desea añadir otro mes? (Si / No)");
respuesta = teclado.nextLine();

} while (respuesta.equalsIgnoreCase("SI"));

//System.out.println(lista);
}

public static void mostrarVentas(ArrayList <Venta> lista) {

for (int i = 0; i < lista.size(); i++) {

System.out.println("Para el mes de " + lista.get(i).devolverNombreMes() + " se vendieron: " + lista.get(i).devolverNumVentas());

}

}

public static void mostrarSumaVentas(ArrayList <Venta> lista) {

Integer suma=0;

for (int i = 0; i < lista.size(); i++) {

suma = suma + lista.get(i).devolverNumVentas();


}
System.out.println("-----------------------------");
System.out.println("Para el año se vendieron un total de: " + suma + " coches");
System.out.println("-----------------------------");

}

public static void mostrarSumaMesesStartA(ArrayList <Venta> lista) {

Integer suma=0;


for (int i = 0; i < lista.size(); i++) {

if (lista.get(i).devolverNombreMes().charAt(0)== 'A' ) {

suma = suma + lista.get(i).devolverNumVentas();

}

}
System.out.println("-----------------------------");
System.out.println("Para los meses que empiezan por A vendieron un total de: " + suma + " coches");
System.out.println("-----------------------------");

}

public static void mesMaVentas(ArrayList <Venta> lista) {

Integer ventas = lista.get(0).numeroVentas;

for (int i = 0; i < lista.size(); i++) {

if (ventas < lista.get(i).devolverNumVentas()) {

ventas = lista.get(i).devolverNumVentas();

}

}

System.out.println("-----------------------------");
System.out.println("Mes o Meses con mas ventas de coches");
System.out.println("-----------------------------");

for (int i = 0; i < lista.size(); i++) {

if (ventas == lista.get(i).devolverNumVentas()) {
System.out.println("El mes de " + lista.get(i).devolverNombreMes() + " Se vendieron un total de " + lista.get(i).devolverNumVentas() + " Coches");
}

}


}

public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
ArrayList <Venta> lista = new ArrayList<>();
mostrarMenu(lista);



}

}

--------------------------------------------------

Desarrolle una aplicación en Java que determine el sueldo bruto para cada uno de los empleados de una empresa. La empresa paga la tarifa normal en las primeras 40 horas de trabajo de cada empleado, y paga tarifa y media en todas las horas trabajadas que excedan de 40.
El programa creará los objetos que quiera el usuario (uno para cada empleado) los meterá en una lista y se le pedirá al usuario que rellene la información para cada empleado en el constructor.
Por cada empleado se almacenará su nombre, el número de horas que trabajó, y la tarifa que cobra por una hora de trabajo.
Para finalizar el programa debe determinar y mostrar el sueldo bruto de cada empleado.
Ejemplo: Pepe trabajó 42 horas, cobra 20 euros la hora por lo que le corresponde un sueldo de 860 euros.
Nota 1: Realiza un método para establecer el nombre de cada empleado, otro para establecer para las horas y otro para establecer la tarifa.
Nota 2: Crea otros 3 métodos para devolver el nombre de cada empleado, otro para devolver las horas y otro para devolver la tarifa.
Nota 3: Utiliza un método que calcule el sueldo que corresponde al empleado y que lo devuelva.(return)

public class Empleados {


String nombre;
Integer nHoras;
Integer tarifaUsu;

public Empleados() {
establecerNombre();
establecerNHoras();
establecerTarifaUsu();
}


public void establecerNombre(){
Scanner teclado = new Scanner(System.in);

System.out.println("Introduce el Nombre del Usuario: ");
nombre = teclado.nextLine();
}
public String devolverNombe() {
return nombre;
}
public void establecerNHoras(){
Scanner teclado = new Scanner(System.in);

System.out.println("Introduce el numero de horas trabajadas por " + nombre + ": ");
nHoras = teclado.nextInt();
}
public int devolverNHoras() {
return nHoras;
}
public void establecerTarifaUsu(){
Scanner teclado = new Scanner(System.in);

System.out.println("Introduce el precio que cobra la hora " + nombre + ": ");
tarifaUsu = teclado.nextInt();
}
public int devolverTarifaUsu() {
return tarifaUsu;
}

public static void rellenarUsuarios(ArrayList <Empleados> Usuarios) {
Scanner teclado = new Scanner(System.in);

String respuesta;

do {

System.out.println("Datos del Usuario");
Usuarios.add(new Empleados());
System.out.println("¿Desea añadir otro USuario? (Si / No)");
respuesta = teclado.nextLine();

} while (respuesta.equalsIgnoreCase("SI"));

//System.out.println(lista);
}
public static void calcularSueldo(ArrayList <Empleados> Usuarios) {
Scanner teclado = new Scanner(System.in);
double sueldo;
int horasExt;
double sueldoExtra;

for (int i = 0; i < Usuarios.size(); i++) {


if (Usuarios.get(i).devolverNHoras() > 40) {

sueldo = Usuarios.get(i).devolverNHoras() * Usuarios.get(i).devolverTarifaUsu();

horasExt = Usuarios.get(i).devolverNHoras() - 40;

sueldoExtra = horasExt * Usuarios.get(i).devolverTarifaUsu() * 0.5;
sueldo = sueldoExtra + sueldo;

}else{

sueldo = Usuarios.get(i).devolverNHoras() * Usuarios.get(i).devolverTarifaUsu();

}

System.out.println(Usuarios.get(i).devolverNombe() + " trabajó " + Usuarios.get(i).devolverNHoras()+ " horas, cobra " + Usuarios.get(i).devolverTarifaUsu() + " euros la hora por lo que le corresponde un sueldo de " + sueldo + " euros.");

}

}

public static void main(String[] args) {
ArrayList <Empleados> Usuarios = new ArrayList<>();
rellenarUsuarios(Usuarios);
calcularSueldo(Usuarios);
}

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder