Java - Ayuda en Java_ ArrayList : No da el resultado esperado en sueldo Bruto

 
Vista:
Imágen de perfil de abi

Ayuda en Java_ ArrayList : No da el resultado esperado en sueldo Bruto

Publicado por abi (22 intervenciones) el 08/04/2015 20:20:44
package estudiandopoo;

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
/*
 * @PVerdi
 */
public class SeisG2
{
    private final int horasTra;
    private final float tarifa=20;
 
 
    public SeisG2()
    {
 
        this.horasTra = 0;
    }
 
    public SeisG2( int horasTra)
    {
 
        this.horasTra = horasTra;
    }
 
    public int getHorasTra()
    {
        return horasTra;
    }
 
    public float getTarifa()
    {
        return tarifa;
    }
 
    public String sueldoB()
    {
        return this.horasTra();
    }
 
    public String horasTra()
    {
        if(this.horasTra==40)
        {
 
            return "\nSu Sueldo Bruto es: $"+this.tarifa*this.horasTra+"";
        }
        else
        {
            return "\n Su Sueldo Bruto es: $"+this.horasTra*((this.tarifa*3)/2)+"";
        }
    }
 
    @Override
    public String toString()
    {
       return ""+this.horasTra; //To change body of generated methods, choose Tools | Templates.
    }
}



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
package estudiandopoo;
import java.util.ArrayList;
import javax.swing.JOptionPane;
 
/*
 * @author Usuario
 */
public class AccesoSeisG2
{
    public static void main(String[] args)
    {
        ArrayList em =new ArrayList<>();
        em.add(0, "juan");
        em.add(1, "jose");
 
        for(int i=0; i<em.size(); i++)
        {
            SeisG2 s=new SeisG2();
 
           System.out.println(em.get(i));
           int hora=Integer.parseInt(JOptionPane.showInputDialog("Horas: "));
            System.out.println(s.horasTra());
 
        }
    }
 
}
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 Alberto
Val: 308
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda en Java_ ArrayList : No da el resultado esperado en sueldo Bruto

Publicado por Alberto (303 intervenciones) el 08/04/2015 21:08:28
Hola...

Veo tu código pero no veo tu problema; es decir, te muestra algún mensaje de error, tienes una salida errónea, cual es la salida que esperas según tus cálculos, por favor, te molestaría con esta información para poder ayudarte de manera mas eficiente.

Cualquier duda y/o comentario, aquí estamos. Suerte!
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 abi

Ayuda en Java_ ArrayList : No da el resultado esperado en sueldo Bruto

Publicado por abi (22 intervenciones) el 08/04/2015 21:41:50
Hola! Alberto,
en sii no da ningun error, pero la salida esta mal, porque no hace el procedimiento para obtener el Saldo Bruto, entonces en la salida da 0 cuando tendria que dar el valor del sueldo bruto.
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 Alberto
Val: 308
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda en Java_ ArrayList : No da el resultado esperado en sueldo Bruto

Publicado por Alberto (303 intervenciones) el 08/04/2015 21:58:19
No entiendo muy bien que planeas hacer, pero en mi opinión únicamente necesitas dos métodos que te retornen el resultado...

1
2
3
4
5
6
7
8
9
10
11
public static float metodo1(float valor1, float valor2){
	return valor1 * valor2;
}
 
public static float metodo2(int valor1, int valor2){
	return valor1 * ((valor2 * 3) / 2);
}
 
public static void main(String[] args) {
	System.out.println(metodo1(20,40));
}

Esto debería funcionar, ahora si necesitas implementarlo de manera diferente, por favor, se mas detallista con lo que necesitas.

Cualquier duda y/o comentario, aquí estamos. Suerte!
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 Abi

Ayuda en Java_ ArrayList : No da el resultado esperado en sueldo Bruto

Publicado por Abi (22 intervenciones) el 08/04/2015 22:18:37
Desarrolle una aplicación en Java que determine el sueldo bruto para cada uno de los empleados. La empresa paga la cuota normal en las primeras 40 horas de trabajo de cada empleado, y cuota y media en todas las horas trabajadas que excedan de 40. Usted recibe una lista de los empleados de la empresa, el número de horas que trabajó cada uno la semana pasada y la tarifa por horas de cada empleado. Su programa debe recibir como entrada esta información para cada empleado, debe determinar y mostrar el sueldo bruto de cada trabajador. Los empleados son Objetos de la Clase Empleado que usted desarrollará.
Analice el ejercicio y desarrolle las clases con los métodos necesarios para dar solución al problema.
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 Alberto
Val: 308
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda en Java_ ArrayList : No da el resultado esperado en sueldo Bruto

Publicado por Alberto (303 intervenciones) el 08/04/2015 22:32:12
xD... Entiendo

El objeto Empleado solo tiene tres atributos, nombre, horasTrabajo y horasTarifa, corrígeme si me equivoco, entonces primeramente olvídate de todo lo demás y crea una clase con esos tres campos y crea los respectivos Set/Get de estos tres, esa clase únicamente contendrá esos valores.

1
2
3
4
5
6
7
public class Empleado {
	private String nombre;
	private int horasTrabajo;
	private float horasTarifa;
 
	// Get/Set
}

Esa sería el contenido de tu objeto Empleado, cuando lo tengas aquí te espero para avanzar con lo demás.

P.D. Perdona mi estilo, pero prefiero hacer que tu esfuerces y entiendas el porque a darte todo el código completo.
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 Abi

Ayuda en Java_ ArrayList : No da el resultado esperado en sueldo Bruto

Publicado por Abi (22 intervenciones) el 08/04/2015 22:43:28
aqui esta...

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
public class Emple
{
 
	private String nombre;
	private int horasTrabajo;
	private float horasTarifa;
 
    public String getNombre()
    {
        return nombre;
    }
 
    public void setNombre(String nombre)
    {
        this.nombre = nombre;
    }
 
    public int getHorasTrabajo()
    {
        return horasTrabajo;
    }
 
    public void setHorasTrabajo(int horasTrabajo)
    {
        this.horasTrabajo = horasTrabajo;
    }
 
    public float getHorasTarifa()
    {
        return horasTarifa;
    }
 
    public void setHorasTarifa(float horasTarifa)
    {
        this.horasTarifa = horasTarifa;
    }
 
}
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 Alberto
Val: 308
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda en Java_ ArrayList : No da el resultado esperado en sueldo Bruto

Publicado por Alberto (303 intervenciones) el 08/04/2015 22:55:20
Perfecto!!! Ahora... ¿Recuerdas los métodos que te proporcione?, esos métodos vamos a pasarlos a una clase especialmente para ello el cual nombraremos en este caso PagoCuota, y obviamente tendrá únicamente esos dos métodos...

1
2
3
4
5
6
7
8
9
public class PagoCuota{
	public static float metodo1(float valor1, float valor2){
		return valor1 * valor2;
	}
 
	public static float metodo2(float valor1, float valor2){
		return valor1 * ((valor2 * 3) / 2);
	}
}

Cambia el nombre de los métodos por uno mas descriptible para ti, además de nombrar las variables de mejor forma ya que entre mas descriptivos seamos con nuestro código sera mas fácil para nosotros ubicar futuros errores.

Ahora, teniendo esto debes tener una clase Empleado que corresponde únicamente al objeto y otra clase PagoCuota que corresponde a la lógica del negocio de nuestra aplicación. Teniendo esto aquí te espero. Suerte!
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 Carlos

Ayuda en Java_ ArrayList : No da el resultado esperado en sueldo Bruto

Publicado por Carlos (54 intervenciones) el 08/04/2015 22:54:21
Para que funcione tu clase en main debes probar en la siguiente forma:

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
public static void main(String[] args) {
       ArrayList em =new ArrayList<>();
       //crear un objeto con 20 horas trabajadas
       SeisG2 s1=new SeisG2(20);
       //guardas el objeto
       em.add(s1);
        //crear otro objeto con 40 horas trabajadas
       SeisG2 s2=new SeisG2(40);
       //guardas el objeto
       em.add(s2);
        //crear otro objeto con 60 horas trabajadas
       SeisG2 s3=new SeisG2(60);
       //guardas el objeto
       em.add(s3);
       //obtienes del array list lo guardado
        for(int i=0; i<em.size(); i++)
        {
            SeisG2 sn=(SeisG2)em.get(i);
            System.out.println("Horas trabajas:"+sn.getHorasTra());
            System.out.println("Tarifa:"+sn.getTarifa());
           System.out.println("Sueldo"+sn.sueldoB());
 
        }
 
}

Saludos...si alguna duda me escribes a:[email protected]

Suerte
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
Imágen de perfil de Abi

Ayuda en Java_ ArrayList : No da el resultado esperado en sueldo Bruto

Publicado por Abi (22 intervenciones) el 08/04/2015 22:58:18
Muchisimas Graciiias!!.. ya tengo mas claro el funcionamiento del ArrayList y de la impresion de Sueldo Bruto ....
Se le agradece mucho!
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 Carlos

Ayuda en Java_ ArrayList : No da el resultado esperado en sueldo Bruto

Publicado por Carlos (54 intervenciones) el 08/04/2015 23:00:24
Agrégale atributo nombre como en la otra clase emple y listo.

Suerte.
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 Abi

Ayuda en Java_ ArrayList : No da el resultado esperado en sueldo Bruto

Publicado por Abi (22 intervenciones) el 08/04/2015 23:03:43
Una duda, al revisarlo, no se donde declaro la tarifa= 20????
y sii la quiero modificar?
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 Carlos

Ayuda en Java_ ArrayList : No da el resultado esperado en sueldo Bruto

Publicado por Carlos (54 intervenciones) el 08/04/2015 23:05:37
Puede ser asi para tres trabajadores...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public static void main(String[] args) {
       ArrayList em =new ArrayList<>();
       Scanner Leer=new Scanner(System.in);
       int X;
       int horas;
       SeisG2 s1;
       for(X=1;X<=3;X++) {
           System.out.println("Ingrese numero de horas trabajadas:");
           horas=Leer.nextInt();
           s1=new SeisG2(horas);
           em.add(s1);
       }
       //obtines del array list lo guardado
        for(int i=0; i<em.size(); i++)
        {
            SeisG2 sn=(SeisG2)em.get(i);
            System.out.println("Horas trabajas:"+sn.getHorasTra());
            System.out.println("Tarifa:"+sn.getTarifa());
           System.out.println("Sueldo"+sn.sueldoB());
 
        }
 
}
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 Abi

Ayuda en Java_ ArrayList : No da el resultado esperado en sueldo Bruto

Publicado por Abi (22 intervenciones) el 08/04/2015 23:09:41
Siii, o para declararlo de una sola ves.. por ejemplo:
private float horasTarifa=10;
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 Alberto
Val: 308
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda en Java_ ArrayList : No da el resultado esperado en sueldo Bruto

Publicado por Alberto (303 intervenciones) el 08/04/2015 23:12:42
Puedes jugar con los valores de los empleados si haces uso del Objeto que tiene el mismo, por ejemplo...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
List<Emple> list = new ArrayList<Emple>();
Emple e = null;
e = new Emple();
e.setNombre("Alberto");
e.setHorasTrabajo(8);
e.setHorasTarifa(10);
list.add(e);
e = new Emple();
e.setNombre("Abi");
e.setHorasTrabajo(8);
e.setHorasTarifa(10);
list.add(e);
for(Emple dto : list){
	System.out.println(metodo1(dto.getHorasTrabajo(),dto.getHorasTarifa()));
}

Como anteriormente declaras una Lista del objeto Empleado, así como también creamos una instancia del mismo, primeramente la iniciamos como null ya que vamos a crear varios objetos (De esa manera ahorramos el crear varios objetos con diferentes nombres pero viene siendo el mismo tipo) creamos un objeto y con ayuda de sus métodos Set le pasamos los valores que nosotros queremos y los agregamos a la lista, luego creamos otro objeto y el proceso se repite.

Es para ello que sirven los Get/Set.
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 Abi

Ayuda en Java_ ArrayList : No da el resultado esperado en sueldo Bruto

Publicado por Abi (22 intervenciones) el 08/04/2015 23:15:45
Ok.. graciias.. hoy si creo que ya no tengo dudas jiji... GRACIAS!
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 Alberto
Val: 308
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda en Java_ ArrayList : No da el resultado esperado en sueldo Bruto

Publicado por Alberto (303 intervenciones) el 08/04/2015 23:19:24
El ciclo for que ves en el código es usado regularmente para iterar el valor de los objetos, siempre y cuando ambos sean del mismo tipo; es decir, no puedes iterar un Objeto del tipo A si vas a recibir un Objeto del tipo B, de ahí es cuestión únicamente de acceder a su valor a través del método Get.

Cualquier duda y/o comentario aquí estamos, Suerte!.
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