Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - Dani09

Páginas: [1]
1
Hola, tengo una duda. Tengo el siguiente código pero no sé cómo arreglar el problema que hace que no compile.

El código es el siguiente:

Código: [Seleccionar]
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;

class CCC {
    //Propiedades de la clase CCC
    private double saldoDeCuenta;
    private String nombreDelTitular;
    private long numeroDeCuenta;

    //Constructor de la clase CCC
    public CCC (String nombreDelTitular, double saldoDeCuenta)
    {
        this.saldoDeCuenta = saldoDeCuenta;
        this.nombreDelTitular = nombreDelTitular;
        Random numAleatorioCuenta = new Random();
        this.numeroDeCuenta = Math.abs(numAleatorioCuenta.nextLong());
    }

    //Setters

    //Setter para aumentar el saldo de la cuenta bancaria (hacer un ingreso)
    public void setIngreso (double ingreso)
    {
        if (ingreso <= 0)
            System.out.println("El ingreso debe ser superior a cero euros");
        else
            saldoDeCuenta = saldoDeCuenta + ingreso;
    }

    //Setter para disminuir  el saldo de la cuenta bancaria (sacar dinero)
    public void setReintegro (double reintegro)
    {
        if (reintegro <= 0)
            System.out.println("El reintegro debe ser superior a cero euros");
        else
            saldoDeCuenta = saldoDeCuenta - reintegro;
    }

    //Getters
   
    //Getter que devuelve el saldo actual de la cuenta bancaria
    public Double getSaldoCuenta ()
    {
        return saldoDeCuenta;
    }

    //Getter que obtiene todos los datos de la cuenta bancaria en un List
    //Se puede usar cualquier otra opción para devolver los datos
    public List<String> getDatosCuenta ()
    {
        List<String> datosCuenta = new ArrayList<>();
        datosCuenta.add(nombreDelTitular);
        datosCuenta.add(Long.toString(numeroDeCuenta));
        //Redondeamos a dos decimales el saldo
        DecimalFormat saldoRedondeado = new DecimalFormat("###.##");
        datosCuenta.add(saldoRedondeado.format(saldoDeCuenta));

        return datosCuenta;
    }

    //Métodos

    //Método que incrementa el saldo de una CCC de destino y lo decrementa en la CCC origen
    //Para realizar una transferencia de una CCC a otra
    public static void RealizarTransferenciaEntreCuentas (CCC ccc1, CCC ccc2, double importeTransferencia)
    {
        ccc1.saldoDeCuenta = ccc1.saldoDeCuenta - importeTransferencia;
        ccc2.saldoDeCuenta = ccc2.saldoDeCuenta + importeTransferencia;
    }
}



///////////////////////////////////////////////////////////////////////////////////////////////////


Código: [Seleccionar]
import javafx.util.Pair;
import java.util.List;
import java.util.Scanner;

public class OperacionesBanco
{
    public static void main(String[] args)
    {
        //Para la primera cuenta bancaria
        System.out.println("Cuenta bancaria 1");
        //Pedimos el Titular y el Saldo de la primera cuenta bancaria
        //Lo almacenamos en un Pair (titular, saldo)
        Pair<String, Double> datos = pedirDatosUsuario();
        //Instanciar la clase CCC y crear la clase CCC_1
        CCC CCC_1 = new CCC (datos.getKey(), datos.getValue());

        //Repetimos el mismo proceso para crear la CCC_2
        //Para la segunda cuenta bancaria
        System.out.println("Cuenta bancaria 2");
        datos = pedirDatosUsuario();
        CCC CCC_2 = new CCC (datos.getKey(), datos.getValue());

        //Hacemos una transferencia desde la CCC_1 a la CCC_2
        Double importe = pedirImporteUsuario();
        CCC.RealizarTransferenciaEntreCuentas(CCC_1, CCC_2, importe);

        //Mostramos los datos de las cuentas bancarias por consola
        System.out.println("Datos de la CCC 1");
        List<String> datosCuenta;
        datosCuenta = CCC_1.getDatosCuenta();
        System.out.println("   ->      Titular: " + datosCuenta.get(0));
        System.out.println("   -> Nº de cuenta: " + datosCuenta.get(1));
        System.out.println("   ->        Saldo: " + datosCuenta.get(2));

        System.out.println("\nDatos de la CCC 2");
        datosCuenta = CCC_2.getDatosCuenta();
        System.out.println("   ->      Titular: " + datosCuenta.get(0));
        System.out.println("   -> Nº de cuenta: " + datosCuenta.get(1));
        System.out.println("   ->        Saldo: " + datosCuenta.get(2));
    }

    //Solicita el titular de la cuenta y el saldo por consola al usuario
    //Almacena los datos en un Pair, donde la Key será el Titular y el Value el saldo
    public static Pair<String, Double> pedirDatosUsuario()
    {
        //Pedimos los datos al usuario por consola para la primera cuenta corriente
        System.out.print ("Introduzca el nombre del titular: ");
        Scanner entradaEscaner = new Scanner (System.in); //Creamos de un objeto Scanner
        String titular = entradaEscaner.nextLine (); //Invocamos un método sobre el objeto Scanner
        Double saldo = 0.0;
        System.out.print ("Introduzca el saldo inicial: ");
        //Comprueba que sólo se introduzcan números válidos (Double)
        while(!entradaEscaner.hasNextDouble())
        {
            System.out.print("No ha introducido un saldo correcto.\n" +
                    "Vuelva a intentarlo (sólo números y decimales): ");
            entradaEscaner.nextLine();
        }
        saldo = entradaEscaner.nextDouble();
        return new Pair<>(titular, saldo);
    }

    //Solicita el importe a transferir entre cuentas al usuario
    public static Double pedirImporteUsuario()
    {
        //Pedimos el importe al usuario por consola
        Scanner entradaEscaner = new Scanner (System.in); //Creamos de un objeto Scanner
        Double importe = 0.0;
        System.out.print ("\nIntroduzca el importe a transferir entre cuentas: ");
        //Comprueba que sólo se introduzcan números válidos (Double)
        while(!entradaEscaner.hasNextDouble())
        {
            System.out.print("No ha introducido un importe correcto.\n" +
                    "Vuelva a intentarlo (sólo números y decimales): ");
            entradaEscaner.nextLine();
        }
        importe = entradaEscaner.nextDouble();
        entradaEscaner.close();
        return importe;
    }
}

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".