Java - Implementar en java usando estructuras iterativas/ciclos

 
Vista:

Implementar en java usando estructuras iterativas/ciclos

Publicado por Jeremy (1 intervención) el 09/05/2020 18:46:08
Hola, necesito ayuda con este ejercicio que debo implementar en java usando estructuras iterativas/ciclos, estoy confundido con el enunciado del problema, agradezco cualquier ayuda al respecto, gracias.

EJERCICIO-JAVA
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Implementar en java usando estructuras iterativas/ciclos

Publicado por Kabuto (1379 intervenciones) el 09/05/2020 21:14:19
Hola.
El programa lo que hará será calcular una previsión de ventas y actualización de precios para los años posteriores, entre 2021 y 2035

Tienes que proporcionarle desde teclado dos datos: unidades vendidas en 2020 y precio actual de un computador.

Tras esto, has de iniciar un bucle que vaya desde 2021 hasta 2035.
Y en cada iteración del bucle, es decir, cada año, has de actualizar el precio y las unidades vendidas del año anterior, con los porcentajes que te dice el enunciado.
Es decir, para el año 2021 el precio bajará un 4.92% respecto al precio del 2020 (es decir, el precio que tenemos ahora mismo guardado en una variable)
Y las unidades vendidas incrementarán un 8.25%

El precio y ventas de 2020 que tienes guardados en variables, que son los datos introducidos desde teclado, se sustituyen por los nuevos datos calculados para 2021.
Y los muestras en pantalla.

El bucle se repite, ahora estamos en 2022, pues actualizas de nuevo precio y ventas, muestras en pantalla, y pasamos a 2023, luego 2024, etc...

Puesto que te exige dos métodos, puedes hacer uno que se encargue de actualizar las unidades vendidas y otro que actualice el precio.

El que actualiza unidades, puede recibir por parámetros el año actual y las unidades calculadas para el año anterior. Y retornará esas unidades actualizadas según corresponda para este año.

Y el de precio, lo mismo, que reciba año y precio del año anterior, para retornar el precio actualizado.

En ambos métodos, lo que tienes que hacer es analizar el año recibido, ya sea con if o con un switch, y según el año, calculas el porcentaje indicado por el enunciado.

Inténtalo. No importa si no lo consigues, o no funciona. Haz lo que puedas, y cuando te atasques, comparte por aquí tu código y te ayudamos a completarlo. O bien te mostramos como los resolveríamos nosotros.

Pero insisto en que hagas un intento. Darte un código ya resuelto no ayuda demasiado.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lisa
Val: 172
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Implementar en java usando estructuras iterativas/ciclos

Publicado por Lisa (34 intervenciones) el 10/05/2020 01:12:42
Hola nene, cuando te lees el enunciado te asustas, pero el truco es ir plasmando las variables en tu programa y se va resolviendo solo.
Mira así lo resolví:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import java.math.BigDecimal;
import java.math.RoundingMode;
 
public class CPUSA {
 
    public static Double redondear(Double val) {
        return new BigDecimal(val.toString()).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
    }
 
    public static double getCrecimientoAnual(int año) {
        double crecimiento;
        if (año >= 2021 && año <= 2024) {
            crecimiento = 1.0825;
        } else if (año >= 2025 && año <= 2027) {
            crecimiento = 1.1035;
        } else if (año == 2028) {
            crecimiento = 1.09;
        } else {
            crecimiento = 1.085;
        }
        return crecimiento;
    }
 
    public static double getPrecioAnual(int año, double precio) {
        if (año >= 2021 && año <= 2023) {
            precio -= precio * 0.0492;
        } else {
            precio += precio * 0.108;
        }
        return redondear(precio);
    }
 
    public static void main(String[] args) {
        int unidades = 100;
        double precio = 250.95;
        System.out.println("Año: 2020\nUnidades: " + unidades + "\nPrecio: " + precio + "\nTotal: " + (precio * unidades) + "\n");
        for (int i = 2021; i <= 2029; i++) {
            unidades *= getCrecimientoAnual(i);
            precio = getPrecioAnual(i, precio);
            System.out.println("Año: " + i + "\nUnidades: " + unidades + "\nPrecio: " + precio + "\nTotal: " + redondear(precio * unidades) + "\n");
        }
    }
}

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar