• Lenguaje

    Java usando Scanner

  • Descripción

    La compañía ABC otorga por una sola vez al año, una bonificación a sus empleados. Se requiere determinar la bonificación que un trabajador recibe, si esta se le asigna como un porcentaje de su salario mensual que depende de su antigüedad en la empresa de acuerdo con la siguiente tabla:

    Tiempo | Porcentaje
    Menos de 5 año | 5% del salario
    5 o más años y menos de 10 años | 10% del salario
    10 o más años y menos de 15 años | 15% del salario
    15 o más años y menos de 20 años | 20% del salario
    20 o más años y menos de 25 años | 25% del salario
    25 años o más | 30% del salario

    Además, se desea conocer:
    a. El número de empleados que hay en cada uno de los rangos de tiempo.
    b. El monto total pagado en cada rango de tiempo.
    c. El total de las bonificaciones pagadas a sus empleados.
    d. El porcentaje que representa el número de empleado de cada rango de tiempo respecto al total de empleados.

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
import java.util.Scanner;

public class BonificacionPorAntiguedad {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int empleados, empleados_en_rango_1, empleados_en_rango_2, empleados_en_rango_3, empleados_en_rango_4;
        int empleados_en_rango_5;
        double antiguedad, bonificacion, empleados_en_rango_6, porcentaje_de_rango_1, porcentaje_de_rango_2;
        double porcentaje_de_rango_3, porcentaje_de_rango_4, porcentaje_de_rango_5, salario_mensual, total_de_bonificaciones;
        double total_pagado_en_rango_1, total_pagado_en_rango_2, total_pagado_en_rango_3, total_pagado_en_rango_4, total_pagado_en_rango_5;
        double total_pagado_en_rango_6;
        String tecla_repetir;
        empleados = 0;
        empleados_en_rango_1 = 0;
        empleados_en_rango_2 = 0;
        empleados_en_rango_3 = 0;
        empleados_en_rango_4 = 0;
        empleados_en_rango_5 = 0;
        porcentaje_de_rango_1 = 0;
        porcentaje_de_rango_2 = 0;
        porcentaje_de_rango_3 = 0;
        porcentaje_de_rango_4 = 0;
        porcentaje_de_rango_5 = 0;
        total_de_bonificaciones = 0;
        total_pagado_en_rango_1 = 0;
        total_pagado_en_rango_2 = 0;
        total_pagado_en_rango_3 = 0;
        total_pagado_en_rango_4 = 0;
        total_pagado_en_rango_5 = 0;
        do {
            System.out.print("Ingresa el valor de antiguedad: ");
            antiguedad = in.nextDouble();
            in.nextLine();
            System.out.print("Ingresa el valor de salario mensual: ");
            salario_mensual = in.nextDouble();
            in.nextLine();
            bonificacion=0;
            empleados=empleados+1;
            if(antiguedad<5)
            {
                bonificacion=salario_mensual*0.05;
                empleados_en_rango_1=empleados_en_rango_1+1;
                total_pagado_en_rango_1=total_pagado_en_rango_1+salario_mensual+bonificacion;
            }
            if(antiguedad>=5&&antiguedad<10)
            {
                bonificacion=salario_mensual*0.1;
                empleados_en_rango_2=empleados_en_rango_1+1;
                total_pagado_en_rango_2=total_pagado_en_rango_2+salario_mensual+bonificacion;
            }
            if(antiguedad>=10&&antiguedad<15)
            {
                bonificacion=salario_mensual*0.15;
                empleados_en_rango_3=empleados_en_rango_2+1;
                total_pagado_en_rango_3=total_pagado_en_rango_3+salario_mensual+bonificacion;
            }
            if(antiguedad>=15&&antiguedad<20)
            {
                bonificacion=salario_mensual*0.2;
                empleados_en_rango_4=empleados_en_rango_3+1;
                total_pagado_en_rango_4=total_pagado_en_rango_4+salario_mensual+bonificacion;
            }
            if(antiguedad>=20&&antiguedad<25)
            {
                bonificacion=salario_mensual*0.25;
                empleados_en_rango_5=empleados_en_rango_4+1;
                total_pagado_en_rango_5=total_pagado_en_rango_5+salario_mensual+bonificacion;
            }
            if(antiguedad>=25)
            {
                bonificacion=salario_mensual*0.3;
                empleados_en_rango_6=empleados_en_rango_5+1;
                total_pagado_en_rango_6=total_pagado_en_rango_6+salario_mensual+bonificacion;
            }
            total_de_bonificaciones=total_de_bonificaciones+bonificacion;
            System.out.println("Valor de bonificacion: " + bonificacion);
            System.out.println("Valor de empleados en rango 6: " + empleados_en_rango_6);
            System.out.println("Valor de total pagado en rango 6: " + total_pagado_en_rango_6);
            System.out.println();
            do {
                System.out.print("\u00BFDeseas repetir el proceso? (S/N): ");
                tecla_repetir = in.nextLine();
            } while (!tecla_repetir.equalsIgnoreCase("s") && !tecla_repetir.equalsIgnoreCase("n"));
        } while (tecla_repetir.equalsIgnoreCase("s"));
        if (empleados == 0) {
            porcentaje_de_rango_1 = 0;
        } else {
            porcentaje_de_rango_1=100.0*empleados_en_rango_1/empleados;
        }
        if (empleados == 0) {
            porcentaje_de_rango_2 = 0;
        } else {
            porcentaje_de_rango_2=100.0*empleados_en_rango_2/empleados;
        }
        if (empleados == 0) {
            porcentaje_de_rango_3 = 0;
        } else {
            porcentaje_de_rango_3=100.0*empleados_en_rango_3/empleados;
        }
        if (empleados == 0) {
            porcentaje_de_rango_4 = 0;
        } else {
            porcentaje_de_rango_4=100.0*empleados_en_rango_4/empleados;
        }
        if (empleados == 0) {
            porcentaje_de_rango_5 = 0;
        } else {
            porcentaje_de_rango_5=100.0*empleados_en_rango_5/empleados;
        }
        System.out.println("Valor de empleados: " + empleados);
        System.out.println("Valor de empleados en rango 1: " + empleados_en_rango_1);
        System.out.println("Valor de empleados en rango 2: " + empleados_en_rango_2);
        System.out.println("Valor de empleados en rango 3: " + empleados_en_rango_3);
        System.out.println("Valor de empleados en rango 4: " + empleados_en_rango_4);
        System.out.println("Valor de empleados en rango 5: " + empleados_en_rango_5);
        System.out.println("Valor de porcentaje de rango 1: " + porcentaje_de_rango_1);
        System.out.println("Valor de porcentaje de rango 2: " + porcentaje_de_rango_2);
        System.out.println("Valor de porcentaje de rango 3: " + porcentaje_de_rango_3);
        System.out.println("Valor de porcentaje de rango 4: " + porcentaje_de_rango_4);
        System.out.println("Valor de porcentaje de rango 5: " + porcentaje_de_rango_5);
        System.out.println("Valor de total de bonificaciones: " + total_de_bonificaciones);
        System.out.println("Valor de total pagado en rango 1: " + total_pagado_en_rango_1);
        System.out.println("Valor de total pagado en rango 2: " + total_pagado_en_rango_2);
        System.out.println("Valor de total pagado en rango 3: " + total_pagado_en_rango_3);
        System.out.println("Valor de total pagado en rango 4: " + total_pagado_en_rango_4);
        System.out.println("Valor de total pagado en rango 5: " + total_pagado_en_rango_5);
    }

}