Java 数组银行系统:传递值时出现问题

Java 数组银行系统:传递值时出现问题,java,arrays,system,bank,Java,Arrays,System,Bank,我在上Java初学者的课。我正在尝试实现一种将值转移到另一个帐户的方法。我不知道该怎么做。到目前为止,我的代码如下: Conta.java: package br.com.banco; class Conta { private int numeroConta; private String nome; private double saldo; private static int numeroDeContas = 0; // getters and

我在上Java初学者的课。我正在尝试实现一种将值转移到另一个帐户的方法。我不知道该怎么做。到目前为止,我的代码如下:

Conta.java:

package br.com.banco;

class Conta {
    private int numeroConta;
    private String nome;
    private double saldo;
    private static int numeroDeContas = 0;

    // getters and setters
    public int getNumeroConta() {
        return numeroConta;
    }

    public void setNumeroConta(int numeroConta) {
        this.numeroConta = numeroConta;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public double getSaldo() {
        return saldo;
    }

    public void setSaldo(double saldo) {
        this.saldo = saldo;
    }

    public String informacaoConta() {
        return "Número da conta: " + numeroConta + "\nNome do Cliente: "
                + nome + "\nSaldo:" + saldo + "\n";
    }

    public Conta(String abc, double xyz) {
        nome = abc;
        saldo = xyz;
        numeroDeContas++;
        numeroConta = numeroDeContas;
    }

    public void deposito(double valor) {
        if (valor <= 0) {
            System.out.println("O valor precisa ser positivo");
        } else {
            saldo = saldo + valor;
        }
    }

    public void retirar(double valor) {
        if (valor <= 0) {
            System.out.println("O valor precisa ser positivo");
        } else {
            if (saldo < valor) {
                System.out.println("Valor insuficiente");
            } else {
                saldo = saldo - valor;
            }
        }
    }

    public void transfere() {
        // I need help with this
    }
}

我将把你的方法
transferir
写在类
Banco
中,这样它就利用了方法
retirade
depositaEm
。毕竟,转账实际上只是从一个账户取款,然后将相同金额的存款存入另一个账户

这样,您甚至不需要在类
Conta
中使用类
transfer
。但是,您必须重写类
Conta
中的
retire
Banco
中的
retirade
方法,因此如果余额足够且提取成功,它们都返回布尔值-
true
,如果没有,则返回
false
,以使下面的代码正常工作

方法
transferir
在班
Banco

public void transferir(int numeroContaDe, int numeroContaA, double valor)
{
    bool suficiente = RetirarDe(numeroContaDe, valor);
    if (suficiente) {
        DepositaEm(numeroContaA, valor);
    }
}
在类
Conta
中重写方法
retirar
,如下所示:

public bool retirar(double valor)
{
    if (valor <= 0) {
        System.out.println("O valor precisa ser positivo");
    }
    else {
        if (saldo < valor) {
            System.out.println("Valor insuficiente");
        }
        else {
            saldo -= valor;
            return true;
        }
        return false;
    }
}
public bool retirarDe(int numeroConta, double valor) {
    for (int i =0; i<numContas; i++) {
        if (numeroConta == contas[i].getNumeroConta()) {
            bool suficiente = contas[i].retirar(valor);
            if (suficiente) {
                System.out.println("Valor retirado com sucesso");
            }
            else
            {
                System.out.println("Salido insuficiente");
            }
        return suficiente;
        }
    }
    System.out.println("Número de conta inválido.");
}

你的问题到底是什么?某处有使用示例吗?您是否尝试过添加其他方法来更新余额以获得其他金额?我建议您在代码示例中使用英语单词。得到答案会更容易。(无论如何,英语也不是我喜欢的语言,但我总是用英语编写java代码,因为所有java关键字和框架都使用同一种语言。)您的代码到底有什么问题?我不知道如何将金额从一个帐户转移到另一个帐户,比如如何使用数组实现此方法
public bool retirar(double valor)
{
    if (valor <= 0) {
        System.out.println("O valor precisa ser positivo");
    }
    else {
        if (saldo < valor) {
            System.out.println("Valor insuficiente");
        }
        else {
            saldo -= valor;
            return true;
        }
        return false;
    }
}
public bool retirarDe(int numeroConta, double valor) {
    for (int i =0; i<numContas; i++) {
        if (numeroConta == contas[i].getNumeroConta()) {
            bool suficiente = contas[i].retirar(valor);
            if (suficiente) {
                System.out.println("Valor retirado com sucesso");
            }
            else
            {
                System.out.println("Salido insuficiente");
            }
        return suficiente;
        }
    }
    System.out.println("Número de conta inválido.");
}