Está en la página 1de 6

import java.util.

InputMismatchException;

import java.util.Scanner;

public class Principal {

public static void main(String[] args) {

int[][] personas = new int[10][4];

int hombresTotales = 0, mujeresTotales = 0, hombresTrabajadores = 0,


mujeresTrabajadores = 0, sueldoMujeres = 0,

sueldoHombres = 0;

int[] contadores = new int[6];

Scanner s = new Scanner(System.in);

System.out.println("Ingreso de datos:");

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

ingresarPersona(s, i, personas, contadores, hombresTotales ,


mujeresTotales , hombresTrabajadores , mujeresTrabajadores , sueldoMujeres ,

sueldoHombres);

System.out.println(" *** ESTADÍSTICAS ***");

System.out.println("a) Porcentaje total de hombres = " +


obtenerPorcentaje(contadores[0], personas.length) + "%");

System.out.println("b) Porcentaje total de mujeres = " +


obtenerPorcentaje(contadores[1], personas.length) + "%");

if(contadores[2] != 0){

System.out.println("c) Porcentaje de hombres que trabajan = " +


obtenerPorcentaje(contadores[2], contadores[0]) + "%");
System.out.println("e) Sueldo promedio de los hombres que trabajan =
$" + obtenerPromedio(contadores[4], contadores[2]));

if(contadores[3] != 0){

System.out.println("d) Porcentaje de mujeres que trabajan = " +


obtenerPorcentaje(contadores[3], contadores[1]) + "%");

System.out.println("f) Sueldo promedio de las mujeres que trabajan =


$" + obtenerPromedio(contadores[5], contadores[3]));

s.close();

public static void ingresarPersona(Scanner s, int i, int[][] personas, int[] contadores, int
hombresTotales, int mujeresTotales, int hombresTrabajadores, int mujeresTrabajadores, int
sueldoMujeres, int sueldoHombres) {

boolean encontrado = false;

int DNI;

System.out.println("Encuesta N°:" + (i + 1));

System.out.println("Ingrese su DNI");

if (i == 0) {

DNI = ingresarEntero(s, 10000000, 99999999);

} else {

do {

DNI = ingresarEntero(s, 10000000, 99999999);

encontrado = buscarSiExiste(DNI, personas, i);

if (encontrado) {

System.out.println(
"ERROR: El DNI que trató de ingresar ya
fue ingresado, por favor ingrese uno nuevo.");

} while (encontrado);

personas[i][0] = DNI; // DNI

System.out.println("Ingrese su sexo (Hombre = 0; Mujer = 1)");

personas[i][1] = ingresarEntero(s, 0, 1); // SEXO

if (personas[i][1] == 0) {

hombresTotales++;

} else {

mujeresTotales++;

System.out.println("Usted trabaja? (SÍ = 1; NO = 0");

personas[i][2] =ingresarEntero(s, 0, 1); // TRABAJO

if (personas[i][2] == 1) {

System.out.println("Ingrese su sueldo:");

personas[i][3] = ingresarEntero(s, 6000, 20000); // SUELDO

if (personas[i][1] == 0) {

hombresTrabajadores++;

sueldoHombres += Integer.valueOf(personas[i][3]);

} else if (personas[i][1] == 1) {

mujeresTrabajadores++;

sueldoMujeres += Integer.valueOf(personas[i][3]);

}
}

System.out.println("");

contadores[0] += hombresTotales;

contadores[1] += mujeresTotales;

contadores[2] += hombresTrabajadores;

contadores[3] += mujeresTrabajadores;

contadores[4] += sueldoHombres;

contadores[5] += sueldoMujeres;

public static boolean buscarSiExiste(int dNI, int[][] personas, int posicion) {

boolean encontrado = false;

int i = 0;

do {

if (personas[i][0] == dNI) {

encontrado = true;

i++;

} while (!encontrado && i < posicion);

return encontrado;

private static float obtenerPorcentaje(int valorParticular, int valorTotal) {

float porcentaje = ((valorParticular * 100) / valorTotal);

return porcentaje;

}
private static float obtenerPromedio(int sumaTotal, int cantidadTotal) {

float promedio = (sumaTotal / cantidadTotal);

return promedio;

private

static void inicializarArreglo(int[] contadores){

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

contadores[i] = 0;

private static int ingresarEntero(Scanner s, int min, int max) {

boolean error = false;

int entero = 0;

do {

error = false;

try {

entero = s.nextInt();

if (entero < min || entero > max) {

System.out.println("Error. Ingrese un valor


comprendido entre " + min + " y " + max);

error = true;

} catch (InputMismatchException e) {

System.out.println("Error. Ingrese un tipo de dato ENTERO");

s.nextLine();

error = true;

} catch (Exception e) {

System.out.println("Error desconocido D:");

s.nextLine();
error = true;

} while (error);

return entero;

También podría gustarte