Java - me ayudan

 
Vista:
sin imagen de perfil
Val: 124
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

me ayudan

Publicado por Enmanuel (30 intervenciones) el 02/06/2020 16:20:27
necesito en este código al final me saliera todo las respuestas, me apoyan en corregirme me ayudan porfavor
trigatsu
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-3
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

me ayudan

Publicado por Kabuto (1381 intervenciones) el 02/06/2020 18:55:25
Los dos IF que tiene el código no hacen nada, porque tienen un ; al final y eso cierra el IF directamente. Las líneas que hay después de esos IF están FUERA del IF, no DENTRO.

De todos modos, creo que no hacen falta esos IF porque no creo que sea necesario preguntar si esas variables tienen valor 0 antes de hacer el computo.
¿O estás seguro de que sí? Sin conocer el enunciado del ejercicio tampoco puedo asegurarlo.

El bucle while, tampoco entiendo que esa condición sea importante, de todos modos solo se ejecutará una vez ese bucle porque la variable costounitario enseguida dejará de tener valor 0, así que el bucle no se repetirá.
Si realmente necesitas un bucle para pedir datos varias veces, habrá que buscar otra condición

Insisto, tal vez te podamos ayudar mejor si nos dices cuál es el enunciado del ejercicio.
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 Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

me ayudan

Publicado por Kabuto (1381 intervenciones) el 02/06/2020 21:08:56
Dice que se tienen los datos de cada día de la semana.
Y que de cada día se tienen 3 datos: Unidades producidas, costo material y costes producción

Así que se ha de hacer un bucle que se repita 7 veces (un bucle for servirá), uno por cada día de la semana, y por cada día se piden esos 3 datos.

Por cada día, una vez tenemos los tres datos podemos informar del "Costo Unitario" (suma de costos / unidades producidas)
Este dato, el "Costo Unitario", además de mostrarlo en pantalla por cada día, lo acumulamos en una variable para luego al final calcular el promedio. (Costos Unitarios Acumulados / 7)

Y también vamos acumulando en otras variables la suma de Unidades producidas, la suma de costos de materiales y la suma de costes de producción.

Cuando termina el bucle, porque ya tenemos los datos de los 7 días, podemos mostrar esos totales acumulados y por último mostrar el promedio de los Costos Unitarios Acumulados (Costos Unitarios Acumulados / 7)

Si con esta explicación se han clarificado tus ideas, puedes intentar un nuevo código y te funcione o no, muéstralo por aquí y te ayudamos a completar.

En cualquier caso, te dejo un código ya terminado, por si te sirve de referencia. Pero insisto en que lo importante es que lo intentes tú primero.
Un saludo.

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
public static void main(String[] args) {
 
    int totalUnidadesProducidas = 0, totalCostesProduccion = 0, totalCostesMateriales = 0;
    int totalCostosUnitarios = 0;
 
    for (int dia = 0; dia < 7; dia++) {
        //Pedimos datos
        int unidProducidas = Integer.parseInt(JOptionPane.showInputDialog(null, "Unidades producidas:",
                "Datos del dia " + (dia+1), JOptionPane.QUESTION_MESSAGE));
        int costoProduccion = Integer.parseInt(JOptionPane.showInputDialog(null, "Costes de producción:",
                "Datos del dia " + (dia+1), JOptionPane.QUESTION_MESSAGE));
        int costoMaterial = Integer.parseInt(JOptionPane.showInputDialog(null, "Costes de materiales:",
                "Datos del dia " + (dia+1), JOptionPane.QUESTION_MESSAGE));
        //Hacemos computos
        //Costo unitario -> Suma de costes / unidades producidas
        int costoUnitario = (costoProduccion + costoMaterial) / unidProducidas;
        JOptionPane.showMessageDialog(null, "El costo unitario para este dia es de:\n" + costoUnitario,
                "Datos del dia " + (dia+1), JOptionPane.INFORMATION_MESSAGE);
 
        totalCostosUnitarios += costoUnitario; //Acumulamos total para luego calcular promedio
        //Resto de totales para mostrar cuando tengamos todos los dias
        totalUnidadesProducidas += unidProducidas;
        totalCostesProduccion += costoProduccion;
        totalCostesMateriales += costoMaterial;
    }
 
    //Ya tenemos los datos de los 7 dias.
    //Mostramos los totales
    StringBuilder totales = new StringBuilder();
    totales.append("Total Unidades Producidas: " + totalUnidadesProducidas);
    totales.append("\nTotal Costos Produccion: " + totalCostesProduccion);
    totales.append("\nTotal Costos Materiales: " + totalCostesMateriales);
    JOptionPane.showMessageDialog(null, totales.toString(),
            "Datos de la Semana", JOptionPane.INFORMATION_MESSAGE);
 
    //Calculamos promedio de Costos Unitarios
    float promedio = totalCostosUnitarios / 7f;
    JOptionPane.showMessageDialog(null, String.format("Promedio de Costos Unitarios: %.2f", promedio),
            "Datos de la Semana", JOptionPane.INFORMATION_MESSAGE);
 
    JOptionPane.showMessageDialog(null, "FIN DE PROGRAMA");
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
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

me ayudan

Publicado por Kabuto (1381 intervenciones) el 04/06/2020 21:21:33
Hola.
No vivo en el foro.
Rasco un par de horas al día para pasarme por aquí, cuando puedo, no todos los días puedo. Ayer no pude.

Un while y un for son prácticamente lo mismo.

El for autodeclara y autoincrementa la variable que va de 0 a 6 (7 repeticiones para 7 dias) dentro de su parentesis.

1
2
3
for (int dia = 0; dia < 7; dia++) {
   //Lineas de código
}

El while no, la variable se declara antes de que empiece el bucle, y dentro de él, la incrementamos

1
2
3
4
5
int dia = 0;
while (dia < 7) {
   //lineas de código
   dia++;
}

Como se puede ver, en realidad ambos bucles son lo mismo.
Si con esta explicación no consigues cambiarlo tú mismo, recomiendo que repases tus apuntes o pidas explicaciones extra a tus profesores.

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
2
Comentar
sin imagen de perfil
Val: 43
Ha disminuido su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

me ayudan

Publicado por enmanuel (9 intervenciones) el 05/06/2020 00:51:12
Gracias kabuto sos el mejor eso es lo que me faltaba
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar