Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/03/2008, 20:54
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 17 años
Puntos: 260
Sonrisa Re: Metodo matematico, no regresa resultado.

Hola compañero :),

El motivo sigue siendo el mismo... sugerido por WinDoctor...
variables locales por su ámbito.

Código:
    public static void main(String[] args)
    {/*abro 2*/
      String pregunta;
      int diasTrabajados;
      float sueldo; 
Allí está definido "sueldo" y le pertenece a main.

Código:
public class Nomina/*Inicio de clase*/
  {/*abro llave 1*/
    /** Creates a new instance of Nomina */
    public Nomina()
    { }
    /*Declaro las variables Globales*/
    private int numEmpleado;
    .......
    private float sueldoMenosImpuesto;
    private float sueldo; 
Allí está definido "sueldo" también y le pertenece a la clase Nomina.

Código:
public float calcularSueldo ()
{
sueldo = pagoPorDia * diasTrabajados;
return sueldo;

}
Allí usas sueldo ... pero cual ... el de main o el de Nómina ?
En ese caso estas usando el "sueldo" que le pertenece a Nómina, por que está en el ámbito de la función calcularSueldo() dentro de Nómina. Y el "sueldo" de main se queda con 0.

Espero haber aclarado un poco más la situación ¿?,

Saludos,

ps:

Un problema con tu ejemplo es que hay 2 sueldos, uno por aquí otro por allá.
De cual estas hablando en cada momento específicamente, cuando dices "sueldo"?
Un gran problema de ámbito; visible únicamente para avanzados en el lenguaje.

Última edición por HackmanC; 28/03/2008 a las 21:38 Razón: simplify !