Tô tentando achar o erro desse código para poder concertá-lo. Alguém me ajuda, por favor. Deveria aparecer uma mensagem de “conta não cadastrada” quando eu digitasse o nº de uma conta que não está no sistema, mas isso não acontece.
Agradeço desde já.
CÓDIGO:
import java.util.;
import javax.swing.;
public class principal {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int opcao;
int pos=0;
banco banc=new banco();
do{
opcao=Integer.parseInt(JOptionPane.showInputDialog("APLICAÇÃO BANCÁRIA\n"+
"1- Criar nova conta\n"+
"2- Realizar saque\n"+
"3- Realizar depósito\n"+
"4- Realizar transferência\n"+
"5- Saldo\n"+
"6- Sair"));
switch (opcao){
case 1: banc.Cadastrar(pos);
break;
case 2: banc.sacar();
break;
case 3: banc.depositar();
break;
case 4: banc.transferir();
break;
case 5: banc.exibir();
break;
case 6: break;
default: JOptionPane.showMessageDialog(null,"opção inválida");
}
}
while (opcao!=6);
}
}
import java.util.;
import javax.swing.;
public class banco {
//criando atributos e vetores
conta[]vconta=new conta[100];//criando o vetor
conta c=new conta();
int pos=0;
//método para cadastrar
int buscar(int nconta){
for(int i=0;i<100;i++){//
if(nconta==vconta[i].num_conta){
return i;
//se encontrar retorna a posição do vetor
}
}
return-1;
//senão encontrar retorna - 1
}
//método para cadastrar
int Cadastrar(int pos){
int nconta;
nconta=Integer.parseInt(JOptionPane.showInputDialog("Informe o nº da conta:"));
if(vconta[0]==null){
c.num_conta=nconta;
c.nome_titular=JOptionPane.showInputDialog("Nome");
c.saldo=Double.parseDouble(JOptionPane.showInputDialog("Saldo:"));
vconta[pos]=c;
JOptionPane.showMessageDialog(null,"conta cadastrada com sucesso!");
pos++;
return pos;
}
if(buscar(nconta)!=-1){
JOptionPane.showMessageDialog(null,"Conta já cadastrada");
}
else{
c.num_conta=nconta;
c.nome_titular=JOptionPane.showInputDialog("Nome");
c.saldo=Double.parseDouble(JOptionPane.showInputDialog("Saldo:"));
vconta[pos]=c;
JOptionPane.showMessageDialog(null,"conta cadastrada com sucesso!");
pos++;
}
return pos;
}
//metodo para realizar
void sacar(){
int nconta;
nconta=Integer.parseInt(JOptionPane.showInputDialog("Informe o nº da conta:"));
int a=buscar(nconta);//procura se a conta existe
if(a!=-1){ //se a conta existir
double valor=Double.parseDouble(JOptionPane.showInputDialog("Valor:"));
if(vconta[a].saldo<valor){ //testa se há saldo suficiente
JOptionPane.showInternalMessageDialog(null,"Saldo insuficiente"); //senão houver saldo exibe msg
}
else{
vconta[a].sacar(valor); //se houver saldo realiza a operação
}}
else { //se a conta não existir exibe a msg
JOptionPane.showMessageDialog(null,"Conta não cadastrada!");
}
}
//metodo para depositar
void depositar(){
int nconta;
nconta=Integer.parseInt(JOptionPane.showInputDialog("Informe o nº da conta:"));
int a=buscar(nconta);//procura se a conta existe
if(a!=-1){ //se a conta existir
double valor=Double.parseDouble(JOptionPane.showInputDialog("Valor:"));
vconta[a].depositar(valor); //se houver saldo realiza a operação
}
else { //se a conta não existir exibe a msg
JOptionPane.showMessageDialog(null,"Conta não cadastrada!");
}
}
void transferir(){
JOptionPane.showMessageDialog(null,“Realizando Transferência”+“Conta Origem”);
sacar();
JOptionPane.showMessageDialog(null,“Conta Destino”);
depositar();
}
void exibir(){
int nconta;
nconta=Integer.parseInt(JOptionPane.showInputDialog(“Deposito”,“Informe o nº da conta”));
int a=buscar(nconta); //procura se a conta existe, armazena a resposta em “a”
if(a!=-1){
JOptionPane.showMessageDialog(null, "Nome:\n" + vconta[a].nome_titular+
"Número:\n"+vconta[a].num_conta+
"Saldo:\n"+vconta[a].saldo);
}
else{//se a conta não existir exibe a msg
JOptionPane.showMessageDialog(null,"Conta não cadastrada!");
}
}
}
import java.util.;
import javax.swing.;
public class conta {
int num_conta;
String nome_titular;
double saldo;
void sacar(double valor){
saldo=saldo-valor;
}
void depositar(double valor){
saldo=saldo+valor;
}
}