Olá!
Neste lado do Atlântico, em Portugal!!, a minha programação com JAVA não vai nada fácil…
Tenho um exercício para fazer sobre uma conta bancária, com o já conhecido menu para depositar um valor, levantar um valor, alterar morada e número de telefone e ver todas as informações da conta.
Criei os construtores necessários na classe ContaBancaria e o programa para apresentar o menu de opções na classe Main.
Vários problemas:
-não faz correctamente a actualização do saldo da conta após depósito ou levantamento;
-não consigo alterar morada e telefone;
Só comecei com JAVA há perto de 3 semanas e portanto acho que o problema no programa é uma questão não só de algoritmo, mas também de sintaxe.
Deixo o código, se alguém puder ajudar!
Obrigado do outro lado do Atlântico!
public class ContaBancaria {
private String nome;
private long numeroBI;
private String morada;
private long telefone;
public double saldo;
public ContaBancaria(String nm, long numbi, String mda, long tlf, double sld) {
nome = nm;
numeroBI = numbi;
morada = mda;
telefone = tlf;
saldo = sld;
}
public String getNome() {
return nome;
}
public long getNumeroBI() {
return numeroBI;
}
public void setMorada(String pMorada){
morada = pMorada;
}
public String getMorada() {
return morada;
}
public void setTelefone (long pTelefone) {
telefone = pTelefone;
}
public long getTelefone() {
return telefone;
}
public double depositar(double valor) {
if (valor > 0) {
saldo = saldo + valor;
return saldo;
} else {
return saldo;
}
}
public double levantar(double valor) {
if (valor > 0 && valor <= saldo) {
saldo = saldo - valor;
return saldo;
} else {
return saldo;
}
}
}
public class Main {
public static void main(String[] args) {
ContaBancaria conta = new ContaBancaria("Eduardo", 12345678, "Chaves, Vila Real", 276333222, 500.50);
Scanner teclado = new Scanner(System.in);
int opcao = -1;
do {
System.out.println(" 0 - Sair");
System.out.println(" 1 - Depositar uma quantia");
System.out.println(" 2 - Levantar uma quantia");
System.out.println(" 3 - Alterar a morada");
System.out.println(" 4 - Alterar o número de telefone");
System.out.println(" 5 - Listar toda a informação da conta");
System.out.println("Opção ->");
opcao = teclado.nextInt();
switch (opcao) {
case 0: {
System.out.println("Sair.");
}
break;
case 1: {
System.out.println("Depositar uma quantia.");
System.out.println("Digite o valor:");
double valor = teclado.nextInt();
conta.depositar(valor);
System.out.println("O seu saldo é: " + conta.depositar(valor));
}
break;
case 2: {
System.out.println("Levantar uma quantia.");
System.out.println("Digite o valor:");
double valor = teclado.nextInt();
conta.levantar(valor);
System.out.println("O seu saldo é: " + conta.levantar(valor));
}
break;
case 3: {
System.out.println("Alterar a morada.");
System.out.println("Digite a nova morada:");
String pMorada = teclado.nextLine();
System.out.println("A sua nova morada é : \n " + conta.setMorada());
}
break;
case 4: {
System.out.println("Alterar o número de telefone.");
System.out.println("Digite o novo número:");
long pTelefone = teclado.nextLong();
System.out.println("O seu novo número de telefone é: \n" + conta.setTelefone(pTelefone));
}
break;
case 5: {
System.out.println("Informação da conta");
System.out.println("Nome: " + conta.getNome());
System.out.println("Morada: " + conta.getMorada());
System.out.println("Telefone: " + conta.getTelefone());
System.out.println("Saldo da sua conta: " + conta.saldo);
}
default:
System.out.println("Digite uma opção entre 0 e 5.");
break;
}
} while (opcao != 0);
System.out.println("Fim.");
}
}
Obrigado!!!