none
No se puede asignar por que es grupo de metodos RRS feed

  • Pregunta

  • Buenas noches,

    Recién me inicio en este lenguaje. Tengo dos clases: CCuenta y Test. En la primera, tengo dos métodos para ingresar valores: 

            public void ingreso(double cantidad)
            {
                if (cantidad < 0)
                {
                    System.Console.WriteLine("Error: cantidad negativa");
                    return;
                }
                saldo = saldo + cantidad;
            }
    
            public void reintegro(double cantidad)
            {
                if (saldo - cantidad < 0)
                {
                    System.Console.WriteLine("Error: No dispone de saldo");
                    return;
                }
                saldo = saldo - cantidad;
            }

    Y en la clase Test tengo:

        class Test
        {
            public static void Main(String[] args)
            {
                CCuenta cuenta01 = new CCuenta();
    
                //Aquí se genera el error
                cuenta01.ingreso = 50000;
                cuenta01.reintegro = 10000;
    
                System.Console.WriteLine(cuenta01.Nombre);
                System.Console.WriteLine(cuenta01.Cuenta);
                System.Console.WriteLine(cuenta01.Saldo);
                System.Console.WriteLine(cuenta01.TipoDeInteres);
            }
        }
    
    }

    El error que surge al compilar es No se puede asignar a 'ingreso' porque es 'grupo de métodos'.

    Igualmente sucede con 'reintegro'. A qué se debe el error y cual es la manera de solucionarlo?

    Muchísimas gracias de antemano.



    • Editado EstebanP6 martes, 19 de abril de 2016 2:13
    martes, 19 de abril de 2016 2:13

Respuestas

  • Hola:

     Porque no puedes asignar valores cuando es un metodo o funcion, en su lugar debes de pasar el parametro solicitado, en tu caso seria mas o menos de la siguiente manera:

    public static void Main(String[] args)
            {
                CCuenta cuenta01 = new CCuenta();
    
                //Aquí se genera el error
                cuenta01.ingreso(50000);
                cuenta01.reintegro(10000);
            }
     Ojo, solo me limite a responderte el motivo de tu error.


    Saludos desde Monterrey, Nuevo León, México!!!

    martes, 19 de abril de 2016 2:42
  • hola

    creo que confudiste la definicion de metodos con las propiedades, o sea creaste dos metodos, pero en el Test los asignastes como propiedades

    la asigncion que realizaste funcionaria si la defines de esta forma

    private double _ingreso;
    
    public double ingreso
    {
    	set
    	{
    		if (value < 0)
    		{
    			System.Console.WriteLine("Error: cantidad negativa");
    			return;
    		}
    		saldo = saldo + value;
    		
    		_ingreso = value;
    	}
    	get {return _ingreso;}
    }
    
    private double _reintegro;
    
    public double reintegro
    {
    	set
    	{
    		if (saldo - value < 0)
    		{
    			System.Console.WriteLine("Error: No dispone de saldo");
    			return;
    		}
    		saldo = saldo - value;
    		
    		_reintegro = value;
    	}
    	get { return _reintegro; }
    }

    como lo tienes actualmente como metodos debes asignar los valores como menciona Jose en su respuesta

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 19 de abril de 2016 3:12

Todas las respuestas

  • Hola:

     Porque no puedes asignar valores cuando es un metodo o funcion, en su lugar debes de pasar el parametro solicitado, en tu caso seria mas o menos de la siguiente manera:

    public static void Main(String[] args)
            {
                CCuenta cuenta01 = new CCuenta();
    
                //Aquí se genera el error
                cuenta01.ingreso(50000);
                cuenta01.reintegro(10000);
            }
     Ojo, solo me limite a responderte el motivo de tu error.


    Saludos desde Monterrey, Nuevo León, México!!!

    martes, 19 de abril de 2016 2:42
  • hola

    creo que confudiste la definicion de metodos con las propiedades, o sea creaste dos metodos, pero en el Test los asignastes como propiedades

    la asigncion que realizaste funcionaria si la defines de esta forma

    private double _ingreso;
    
    public double ingreso
    {
    	set
    	{
    		if (value < 0)
    		{
    			System.Console.WriteLine("Error: cantidad negativa");
    			return;
    		}
    		saldo = saldo + value;
    		
    		_ingreso = value;
    	}
    	get {return _ingreso;}
    }
    
    private double _reintegro;
    
    public double reintegro
    {
    	set
    	{
    		if (saldo - value < 0)
    		{
    			System.Console.WriteLine("Error: No dispone de saldo");
    			return;
    		}
    		saldo = saldo - value;
    		
    		_reintegro = value;
    	}
    	get { return _reintegro; }
    }

    como lo tienes actualmente como metodos debes asignar los valores como menciona Jose en su respuesta

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 19 de abril de 2016 3:12