Help with JAVA parameters

1

I am new to java and I would like to know why I'm making an error when compiling, since I try to get my account type object to initialize with the values I show below

import java.util.Scanner;

public class PruebaCuenta
{
    public static void main(String[] args)
    {

        //Crea un objeto cuenta llamado miCuenta
        Cuenta miCuenta = new Cuenta("juan carlos", 50.00);
        Cuenta cuentita = new Cuenta();

        //muestra el valor inicial del nombre(null)
        System.out.printf("El saldo de %s es: $%.2f%n", miCuenta.obtenerNombre(), miCuenta.obtenerSaldo());
        System.out.printf("El saldo de %s es: $%.2f%n", cuentita.obtenerNombre(), cuentita.obtenerSaldo());
        //
        Scanner entrada = new Scanner(System.in);

        //pide y lee el nombre
        System.out.println("Escribe el montro a depositar para cuenta 1: ");
        double montoDeposito = entrada.nextDouble(); //lee una linea de texto
        miCuenta.depositar(montoDeposito);//Coloca el nombre en miCenta

        System.out.printf("Saldo de %s: $%.2f%n", miCuenta.obtenerNombre(), miCuenta.obtenerSaldo());
        System.out.printf("Saldo de %s: $%.2f%n%n", cuentita.obtenerNombre(), cuentita.obtenerSaldo());

        System.out.print("Escriba el monto a depositar para cuenta2: "); // indicador (promt)
        montoDeposito = entrada.nextDouble(); // obtiene entrada del usuario
        System.out.printf("%nsumando %.2f al saldo de cuenta2%n%n", montoDeposito);
        cuentita.depositar(montoDeposito); // suma al saldo de cuenta2

        System.out.printf("Saldo de %s: $%.2f%n",miCuenta.obtenerNombre(), miCuenta.obtenerSaldo());
        System.out.printf("Saldo de %s: $%.2f%n%n", cuentita.obtenerNombre(), cuentita.obtenerSaldo());
    }
}

************* Another class ************************

public class Cuenta
{
    //variables de instancia
    private String nombre;
    private double saldo;

    //Constructor de la cuenta que sólo recibe dos parametros
    public void Cuenta(String nombre, double saldo)
    {
        this.nombre = nombre;

        if(saldo > 0.0) 
        {       
            this.saldo = saldo;
        }
    }




    public void depositar(double montoDeposito)
    {
        if(montoDeposito > 0.0)
            saldo = saldo + montoDeposito;
    }

    public double obtenerSaldo()
    {
        return saldo;
    }

    public String obtenerNombre()
    {
        return nombre;
    }

    public void establecerNombre(String nombre)
    {
        this.nombre = nombre;
    }
}
    
asked by garypuerca 04.05.2018 в 00:25
source

1 answer

2

Checking your code I see that you have a bad class Cuenta since to declare a constructor the method does not have a return type in your case change:

public void Cuenta(String nombre, double saldo){}

by:

public Cuenta(String nombre, double saldo){}

Another observation is that in the method main instances the class as follows:

Cuenta cuentita = new Cuenta();

Since in your class Cuenta you do not declare a constructor without parameters this line will mark you an error, for which you must create a constructor in the following way:

public Cuenta(){}

Your two classes would be as follows:

Main:

public static void main(String[] args){
    //Crea un objeto cuenta llamado miCuenta
    Cuenta miCuenta = new Cuenta("juan carlos", 50.00);
    Cuenta cuentita = new Cuenta();

    //muestra el valor inicial del nombre(null)
    System.out.printf("El saldo de %s es: $%.2f%n", miCuenta.obtenerNombre(), miCuenta.obtenerSaldo());
    System.out.printf("El saldo de %s es: $%.2f%n", cuentita.obtenerNombre(), cuentita.obtenerSaldo());
    //
    Scanner entrada = new Scanner(System.in);

    //pide y lee el nombre
    System.out.println("Escribe el montro a depositar para cuenta 1: ");
    double montoDeposito = entrada.nextDouble(); //lee una linea de texto
    miCuenta.depositar(montoDeposito);//Coloca el nombre en miCenta

    System.out.printf("Saldo de %s: $%.2f%n", miCuenta.obtenerNombre(), miCuenta.obtenerSaldo());
    System.out.printf("Saldo de %s: $%.2f%n%n", cuentita.obtenerNombre(), cuentita.obtenerSaldo());

    System.out.print("Escriba el monto a depositar para cuenta2: "); // indicador (promt)
    montoDeposito = entrada.nextDouble(); // obtiene entrada del usuario
    System.out.printf("%nsumando %.2f al saldo de cuenta2%n%n", montoDeposito);
    cuentita.depositar(montoDeposito); // suma al saldo de cuenta2

    System.out.printf("Saldo de %s: $%.2f%n",miCuenta.obtenerNombre(), miCuenta.obtenerSaldo());
    System.out.printf("Saldo de %s: $%.2f%n%n", cuentita.obtenerNombre(), cuentita.obtenerSaldo());
    }

Account:

public class Cuenta {

    //variables de instancia
    private String nombre;
    private double saldo;

    public Cuenta() {

    }

    //Constructor de la cuenta que sólo recibe dos parametros
    public Cuenta(String nombre, double saldo) {
        this.nombre = nombre;

        if (saldo > 0.0) {
            this.saldo = saldo;
        }
    }

    public void depositar(double montoDeposito) {
        if (montoDeposito > 0.0) {
            saldo = saldo + montoDeposito;
        }
    }

    public double obtenerSaldo() {
        return saldo;
    }

    public String obtenerNombre() {
        return nombre;
    }

    public void establecerNombre(String nombre) {
        this.nombre = nombre;
    }
}

For more information on constructors and < a href="https://www.arkaitzgarro.com/java/capitulo-15.html"> parameters :

    
answered by 04.05.2018 в 00:42