Java - Horas de trabajo

 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado su posición en 4 puestos en Java (en relación al último mes)
Gráfica de Java

Horas de trabajo

Publicado por caleb (4 intervenciones) el 01/09/2019 20:09:44
Muy buenas tardes a todos, nuevamente necesito de su ayuda...Pues estoy haciendo un algoritmo el cual lea las horas de trabajo semanales de un trabajador, lo normal es 40 horas a la semana, si se pasa de 40 tiene un 60% adicional de pago....
Un ejemplo es el siguiente:
H.Trabajo: 47
Pago por Hora: 12
Pago de semana: $614.40

Mientras que a mi me da..
Pago de semana: $352.5


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package javaapplication7;
import java.util.Scanner;
public class JavaApplication7 {
    public static void main(String[] args) {
    Scanner teclado = new Scanner(System.in);
    double n=0;
    double f,porcentaje,c;
    System.out.println("¡Digite el número de horas que ha trabajado durante esta semana!");
    n = teclado.nextDouble();
      if (n <= 40 ){
          f=n*12;
          System.out.println("Su paga es $" +f);
      }
      else {
        porcentaje=n*100/160;
        c=porcentaje*12;
        System.out.println("Su paga con el adicional de pago es $" +c);
      }
    }
}


Muchas Gracias por su atención
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
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

Horas de trabajo

Publicado por Kabuto (1381 intervenciones) el 02/09/2019 11:08:43
Hola.

El incremento del 60% ha de hacerse solo en las horas que pasen de 40.

Es decir, si trabaja 47 horas, hay que calcular:

El valor de horas "normales", que sería 40 * 12;

el valor de horas "extra", que son 7 horas extra (47-40).
Esas 7 horas valen 12: 7 * 12
Pero además, se incrementan un 60% : (7 * 12) + 60%

El resultado final sería la suma de las horas "normales" más las horas "extra".
Destaco en negrita esa parte del código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public static void main(String[] args) {
		Scanner teclado = new Scanner(System.in);
		double n=0;
		double f,c;
		System.out.println("¡Digite el número de horas que ha trabajado durante esta semana!");
		n = teclado.nextDouble();
		if (n <= 40 ){
			f=n*12;
			System.out.println("Su paga es $" +f);
		}
		else {
			double horasNormales = 40*12;
			double horasExtra = (n-40)*12;
			//Incremento 60% en las horas Extra
			horasExtra = horasExtra + (horasExtra * 60 /100);
			c= horasNormales + horasExtra;
			System.out.println("Su paga con el adicional de pago es $" +c);
		}
		teclado.close();
	}

Y en consola parece que ya tenemos un resultado correcto:
1
2
3
¡Digite el número de horas que ha trabajado durante esta semana!
47
Su paga con el adicional de pago es $614.4
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