Fiz algumas alterações na logica do menu principal para ter uma escolha entre qual tipo de busca
public Set listarContaPornumero(int numero){
PreparedStatement executeSelect;
ResultSet resultSet;
Set<Conta> conta = new HashSet<>();
String sqlSelect = "SELECT * FROM conta where numero =?";
try {
executeSelect = contaConn.prepareStatement(sqlSelect);
executeSelect.setInt(1, numero);
resultSet = executeSelect.executeQuery();
while (resultSet.next()){
Integer numeroConta = resultSet.getInt(1);
BigDecimal saldoConta = resultSet.getBigDecimal(2);
String nomeCliente = resultSet.getString(3);
String cpfCliente = resultSet.getString(4);
String emailCliente = resultSet.getString(5);
DadosCadastroCliente dadosCadastroCliente= new DadosCadastroCliente(nomeCliente,cpfCliente,emailCliente);
Cliente cliente = new Cliente(dadosCadastroCliente);
conta.add(new Conta(numeroConta,cliente));
}
executeSelect.close();
resultSet.close();
contaConn.close();
}catch (SQLException e) {
throw new RuntimeException(e);
}
return conta;
}
ContaServiço inclusão
public Set listarContaPornumero(int numero){
Connection connSelect = connection.RecuperarConexao();
return new ContaDAO(connSelect).listarContaPornumero(numero);
}
Alteração no menu
private static void listarContas() {
System.out.println("Digite 1 para todas as contas ou 2 para informar o numero de uma conta");
int opcaoListaConta = teclado.nextInt();
if(opcaoListaConta==1){
System.out.println("Contas cadastradas:");
var contas = service.listarContasAbertas();
contas.stream().forEach(System.out::println);
System.out.println("Pressione qualquer tecla e de ENTER para voltar ao menu principal");
teclado.next();
} else if (opcaoListaConta==2) {
System.out.println("Digite o numero da conta:");
int numeroDaConta = teclado.nextInt();
var conta = service.listarContaPornumero(numeroDaConta);
conta.stream().forEach(System.out::println);
System.out.println("Pressione qualquer tecla e de ENTER para voltar ao menu principal");
teclado.next();
}else{
System.out.println("Opção para busca inválida,pressione qualquer tecla e de ENTER para voltar ao menu principal ");
teclado.next();
}
}