Java - Ejercicios resueltos de array 03

 
Vista:

Ejercicios resueltos de array 03

Publicado por burlon (14 intervenciones) el 20/03/2015 10:36:15
Realiza un programa en JAVA en el que se creen los objetos que desee el usuario. Cada objeto los meterá en un array y contiene como atributos el nombre de un producto de una tienda de deportes, su precio y su
• Nota 1: Modifica el constructor por defecto de tal forma que llame a 3 métodos: uno le pedirá al usuario el nombre de cada producto, otro método su precio y otro su stock.
• Nota 2: Realiza un método en el que le muestre al usuario un menú para que elija que producto comprar y luego le pregunte cuantas unidades desea de él. Luego se le preguntará si desea comprar otro producto o salir. Por
último se le mostrará el importe total de la compra.
• Nota 3: Realiza otro método para actualizar el valor del stock de un producto cuando el usuario lo compre. En caso de que el usuario pida más unidades de las que quedan se le avisará por pantalla del error, se le comunicarán las unidades restantes y le preguntará si desea comprar otro
• Pista 1: Necesitarás otros 3 métodos para devolver el nombre de cada producto, otro para devolver su precio y otro para devolver su stock.
• Pista 2: Ejemplo de ejecución:

-- Bienvenido a mi Tienda de Deportes –
Acceso al menú de Administración:
¿Cuántos productos desea dar de alta?
- PRODUCTO 1 -

Introduzca el nombre del producto: Raquetas

Introduzca el precio del producto: 80

Introduzca el stock del producto: 10

PRODUCTO 1 ALMACENADO CON ÉXITO –

Introduzca el nombre del producto: Canastas

Introduzca el precio del producto: 140

Introduzca el stock del producto: 3

- PRODUCTO 2 ALMACENADO CON ÉXITO -

Acceso al menú de Ventas:

2

- PRODUCTO 2 -

Pulse 1 para comprar Raquetas cuyo precio es de 80 euros y el stock es de 10 unidades.

Pulse 2 para comprar Canastas cuyo precio es de 140 euros y el stock es de 3 unidades.

Ha elegido comprar Raquetas

¿Cuántas unidades desea?

Venta Realizada con éxito

¿Desea comprar otro producto?

Pulse 1 para comprar Raquetas cuyo precio es de 80 euros y el stock es de 2 unidades.

Pulse 2 para comprar Canastas cuyo precio es de 140 euros y el stock es de 3 unidades.

Ha elegido comprar Canastas

¿Cuántas unidades desea?

Lo sentimos, solo tenemos disponibles 3 unidades

¿Desea comprar otro producto?

Pulse 1 para comprar Raquetas cuyo precio es de 80 euros y el stock es de 2 unidades.

Pulse 2 para comprar Canastas cuyo precio es de 140 euros y el stock es de 3 unidades.

Ha elegido comprar Canastas

¿Cuántas unidades desea?

Venta Realizada con éxito

¿Desea comprar otro producto?

El total de su compra asciende a 1060 Euros

Muchas gracias. Vuelva cuando quiera.

1

8

si

2

5

si

2

3

no

public class Tienda {

String nombre;
int precio;
int stock;

Tienda() {
establecerNombre();
establecerPrecio();
establecerStock();

}

public void establecerNombre(){
Scanner teclado = new Scanner(System.in);
System.out.print("Introduce el nombre del producto: " );
nombre = teclado.next();
}

public String devolverNombre(){
return nombre;
}

public void establecerPrecio(){
Scanner teclado = new Scanner(System.in);
System.out.print("Introduce el precio del producto: " );
precio = teclado.nextInt();
}

public int devolverPrecio(){
return precio;
}

public int devolverStock(){
return stock;
}

public boolean quedaStock(int sto){

if (stock >= sto) {

return true;

} else {

System.err.println("Error. Quedan " + stock + " unidades");

return false;
}
}

public void establecerStock(){

Scanner teclado = new Scanner(System.in);

System.out.print("Introduce el stock del producto: " );

stock = teclado.nextInt();

}

public void modificarStock(int sto){
stock = stock -sto;
System.out.println("Venta realizada.");
}

public static int solicitarLongitud(){
int longitud = 0;

Scanner teclado = new Scanner(System.in);

do {

System.out.println("Introduzca los produztos que desea crear ");

try {
longitud = teclado.nextInt();

} catch (Exception e) {

System.err.println(e);
System.err.println("Tiene que ser un entero");

}

finally{

teclado.nextLine();

}

if (longitud < 1) {

System.err.println("La tienda debe contener algun producto");

}

} while (longitud < 1);

longitud++;

return longitud;
}

public static void rellenarProductos(Tienda producto[]){

System.out.println("Vamos a rellenar la tienda de " + producto.length + " Productos");

for (int i = 1; i < producto.length; i++) {
System.out.println(" -Producto " + i + " -");

producto[i] = new Tienda();

System.out.println(" - Producto " + i + " Almacenado con exito");

}

}

public static int menuTienda(Tienda producto[]){

int opcion;
int i;

Scanner teclado = new Scanner(System.in);
System.out.println("-------------------------------");
System.out.println(" Acceso al menú de Ventas:");
System.out.println("");



for ( i = 1; i < producto.length; i++) {

System.out.println(" Pulse " + i + " para comprar " + producto[i].nombre + " cuyo precio es de " + producto[i].precio + "€ y el stock es de " + producto[i].stock + " unidades.");

}

opcion = teclado.nextInt();

return opcion;

}

public static int cantidad(){

Scanner teclado = new Scanner(System.in);

int cant;

System.out.println("¿Quantas unidades deseas:?");

cant = teclado.nextInt();

return cant;
}

public static double venta(Tienda producto[]){

int unidades;

for (int i = menuTienda(producto); i < producto.length; i++) {

unidades=cantidad();

if (producto[i].quedaStock(unidades)==true) {

producto[i].modificarStock(unidades);
return unidades*producto[i].devolverPrecio();
}
break;
}

return 0;
}

public static void main(String[] args) {
String respuesta;
double factura = 0;
Scanner teclado = new Scanner(System.in);

Tienda[] producto = new Tienda[solicitarLongitud()];

rellenarProductos(producto);


do {

factura = factura + venta(producto);

System.out.println("¿Desea comprar otro producto?(si/no)");
respuesta = teclado.next();

} while (respuesta.equals("si"));

System.out.println("El total de su compra es: " + factura + "€");
}

}
----------------------------------------------------------------------------------------------------------------------------

Realiza un programa en JAVA en el que le pidas al usuario las notas de las 6 asignaturas del Ciclo de DAM y te calcule la nota media del
Nota 1: Cada una de las asignaturas serán un objeto que se encuentran en un array de 6 posiciones, y cuyos atributos serán el nombre y la nota.
Nota 2: Con el constructor podrás asignar directamente el nombre dela asignatura al crear el objeto. En cambio, el atributo nota, será el usuario quien lo introduzca mediante un método al que se le pase la nota como argumento.
Nota 3: Crea otro método que reciba el array con las 6 notas y devuelva la nota media (return)
Ejemplo de ejecución:
Por favor, introduzca la nota de Programación: 6,5
Introduzca la nota de Lenguajes de Marcas: 7,5
Introduzca la nota de Bases de Datos: 7,5
Introduzca la nota de Entornos de Desarrollo: 8
Introduzca la nota de Sistemas Informáticos: 6,5
Por último, introduzca la nota de Formación y Orientación Laboral: 6
Su nota media del curso es de: 7

public class Curso {

String nombre;
double nota;

public Curso(String nom) {
nombre = nom;
establecerNota();

}

public void establecerNota() {

Scanner teclado = new Scanner(System.in);

System.out.println("introduzca la nota de " + nombre + ": ");

nota = teclado.nextDouble();

}

public double devolverNota() {

return nota;
}

public static void mostrarNotaMedia(Curso[] asignatura) {

double notaMedia = 0;

for (int i = 0; i < asignatura.length; i++) {

notaMedia = notaMedia + asignatura[i].devolverNota();

}
System.out.print("La nota media es: ");

System.out.print(notaMedia / 6);
}

public static void main(String[] args) {

Curso[] asignatura = new Curso[6];

asignatura[0] = new Curso("Programacion");
asignatura[1] = new Curso("Lenguaje Marcas");
asignatura[2] = new Curso("Base de Datos");
asignatura[3] = new Curso("Entorno Desarrollo");
asignatura[4] = new Curso("Sistemas Informaticos");
asignatura[5] = new Curso("FOL");

mostrarNotaMedia(asignatura);

}

}
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