1
public class Asambleista {
    String nombres;
    int cedula;
    String region;
    double sueldo = 300;
    double bono = 50;
    double sueldofinal;

    public void establecerNombres(String nom){
        nombres = nom;
    }

    public void establecerCedula(int ced){
        cedula = ced;
    }

    public void establecerRegion(String reg){
        region = reg;
    }

    public void establecerSueldo(Double sue){
        sueldo = sue;
    }

    public void establecerBono(double bon){
        bono = bon;

    }

    public void calcularSueldoFinal(){
       if (region == 'sierra'){
            sueldofinal = ((sueldo + bono)*30)/100;
        }else{
            sueldofinal = ((sueldo + bono)*25)/100;

        }
    }    

    public String obtenerNombres(){
        return nombres;
    }

    public double obtenerCedula(){    
        return cedula; 
    }

    public String obtenerRegion(){    
        return region; 
    }

    public double obtenerSueldo(){    
        return sueldo; 
    }

    public double obtenerBono(){
        return bono;
    }

    public double obtenerSueldoFinalBono(){
        return sueldofinal;
    }

}

El objetivo es ingresar n número de asambleístas y presentar el sueldo_final que cobraría en función de del (bono + sueldo) y la región a la que pertenece. Si el asambleísta es de la región Sierra se le asigna el 30% más del (bono + sueldo), si es de la región Costa se deberá incrementar 25% al (bono + sueldo) y si es de la región Amazónica o Insular el incremento será del 20%.

1 Answers1

1

Utilizando estructura de repetición for (una de las tantas) para cargar y mostrar Asambleista:

import java.util.Scanner;


public class EjAsambleista {
    //un Scanner para cada tipo de dato
    private static Scanner scannerInt; 
    private static Scanner scannerDouble;
    private static Scanner scannerString;

    private static Asambleista[] asambleistas;//array para guardar objetos de tipo Asambleista

    public static void main(String[] args) {
        //inicializamos Scanners
        scannerInt =new Scanner(System.in);
        scannerDouble =new Scanner(System.in);
        scannerString =new Scanner(System.in);

        cargarAsambleistas();
        mostrarAsambleistas();
    }
    private static void cargarAsambleistas(){
        int cantAsambl;
        System.out.println("Cuántos Asambleístas desea agregar?");
        cantAsambl =scannerInt.nextInt();
        asambleistas =new Asambleista[cantAsambl];

        for (int i = 0; i < cantAsambl; i++) {
            System.out.println("Asableísta Nº "+(i+1));
            System.out.println("Ingrese cédula:");
            int cedulaEntrada =scannerInt.nextInt();
            System.out.println("Ingrese nombre:");
            String nombreEntrada =scannerString.nextLine();
            System.out.println("Ingrese región:");
            String regionEntrada =scannerString.nextLine();
            System.out.println("Ingrese sueldo:");
            double sueldoEntrada =scannerDouble.nextDouble();
            System.out.println("Ingrese bono:");
            double bonoEntrada =scannerDouble.nextDouble();

            Asambleista asamble =new Asambleista();
            asamble.establecerCedula(cedulaEntrada);
            asamble.establecerNombres(nombreEntrada);
            asamble.establecerRegion(regionEntrada);
            asamble.establecerSueldo(sueldoEntrada);
            asamble.establecerBono(bonoEntrada);
            asamble.calcularSueldoFinal();
            //ya tenemos el objeto Asambleista seteado, ahora lo guardamos en el array
            //asambleistas en la posición i
            asambleistas[i] =asamble;
            System.out.println("Asambleísta Nº "+(i+1)+" guardado exitosamnte!");
        }
    }
    private static void mostrarAsambleistas(){
        System.out.println("*** Lista de Asambleístas ***");
        int longitudArray =asambleistas.length;
        for (int i = 0; i < longitudArray; i++) {
            System.out.println("Nº "+(i+1)+"- Cédula: "+asambleistas[i].obtenerCedula()
            +", Nombre: "+asambleistas[i].obtenerNombres()+", Región: "+asambleistas[i].obtenerRegion()
            +", Sueldo: "+asambleistas[i].obtenerSueldo()+", Bono: "+asambleistas[i].obtenerBono()
            +", Sueldo final: "+asambleistas[i].obtenerSueldoFinal());
        }
    }
}
class Asambleista {

    private String nombres;
    private int cedula;
    private String region;
    private double sueldo;
    private double bono;
    private double sueldofinal;

    public void establecerNombres(String nom){
        nombres = nom;
    }
    public void establecerCedula(int ced){
        cedula = ced;
    }
    public void establecerRegion(String reg){
        region = reg;
    }
    public void establecerSueldo(Double sue){
        sueldo = sue;
    }
    public void establecerBono(double bon){
        bono = bon;
    }
    public void calcularSueldoFinal(){
        //los String se comparan con método equals(), equalsIgnoreCase() además
        //lo hace ignorando mayuscula-minúscula
       if (region.equalsIgnoreCase("sierra")){
            sueldofinal = sueldo + (sueldo + bono)*30/100;//habías olvidado sumar sueldo
       }
       else if(region.equalsIgnoreCase("costa")){
            sueldofinal = sueldo + (sueldo + bono)*25/100;
       }
       else if(region.equalsIgnoreCase("amazónica")){
           sueldofinal = sueldo + (sueldo + bono)*20/100;
       }
       else System.out.println("La región no es válida");
    }
    public String obtenerNombres(){
        return nombres;
    }
    public int obtenerCedula(){    
        return cedula; 
    }
    public String obtenerRegion(){    
        return region; 
    }
    public double obtenerSueldo(){    
        return sueldo; 
    }
    public double obtenerBono(){
        return bono;
    }
    public double obtenerSueldoFinal(){
        return sueldofinal;
    }
}
Juan Rom
  • 1,118
  • 5
  • 11