Olá galera. Estou fazendo um projeto de Conta bancária para fins didáticos e me apareceu um erro.
Ao tentar utilizar o método “abrirConta” na Main o método não válida o valor que setei na variável tipoConta. Exemplo: Setei a variável como “cc” (conta corrente) e o IF não valida com tipo == “cc”.
Esse é meu main:
import java.util.Scanner;
public class TesteDaConta {
public static void main(String[] args) {
Conta c1 = new Conta();
int resp = 0;
double quantidade;
String tipoConta;
do {
System.out.println(
"Menu de opções:\n\n1-Depositar\n2-Sacar\n3-Abrir Conta\n4-Fechar Conta\n5-Status da conta\n0-Sair");
Scanner sc = new Scanner(System.in);
System.out.println("Qual operação deseja realizar?");
resp = Integer.parseInt(sc.nextLine());
switch (resp) {
case 1:
System.out.println("Digite a quantidade que deseja depositar:");
quantidade = sc.nextDouble();
c1.depositar(quantidade);
break;
case 2:
System.out.println("Digite a quantidade que deseja sacar:");
quantidade = sc.nextDouble();
c1.sacar(quantidade);
break;
case 3:
System.out.println("Digite o tipo de Conta: cc(Conta Corrente)/ cp(Conta Poupança):");
c1.setTipo(sc.nextLine());
c1.abrirConta(c1.getTipo());
break;
case 4:
c1.fecharConta();
break;
case 5:
c1.estadoAtual();
break;
case 0:
System.out.println("Fim do programa, até logo!");
break;
default:
System.out.println("Opção inválida!");
break;
}
} while (resp != 0);
}
}
E esse é meu método na classe conta:
public void abrirConta(String tipo) {
this.status = true;
this.tipo = tipo;
if (this.tipo == "cc") {
this.saldo = 50;
System.out.println("Conta aberta com sucesso!");
}else if (this.tipo == "cp") {
this.saldo = 150;
System.out.println("Conta aberta com sucesso!");
else{
System.out.println("Falha ao abrir a conta!");
}
}
A resposta no console é sempre “Falha ao abrir a conta”. Alguém tem uma sugestão de como resolver este problema?