Erro de lógica

Galera. Tenho 3 classes pra fazer uma sistema de Banco. Porém tá dando erro na classe Menu, dentro dos switches. Não entendo como pode estar dando erro no objeto “cont”, pois quando faço a busca de conta ou crio uma nova conta, esse objeto Conta fica guardado em cont.

Desde já… grato

[code]import java.util.Scanner;

public class Menu{
public static void main(String args[]){

ContaBancaria cont;

Scanner console=new Scanner(System.in);
Banco JavaBanco=new Banco();

System.out.println(“1-Sou Cliente do Banco!”);
System.out.println(“2-Não sou cliente!”);
int com=console.nextInt();

if(com==1){

System.out.println(“Digite o numero da sua conta”);
String num=console.next();
cont=JavaBanco.buscaConta(num);
if(cont==null){
System.out.println(“Conta não encontrada”);
System.exit(0);
}
}

if (com==2){

System.out.println(“Crie a Sua conta”);
System.out.println(“Digite o numero da sua conta e o saldo inicial”);
String numero=console.next();
double valor=console.nextDouble();
cont=JavaBanco.buscaConta(numero);
if(cont!=null){
System.out.println(“Numero de conta ja existente”);
System.exit(0);
}
else{
JavaBanco.adicionaConta(new ContaBancaria(numero,valor));
System.out.println(“Conta Criada com Sucesso”);
}

}

else{
System.out.println(“Opção Não encontrada”);
System.exit(0);
}

System.out.println(“Digite a opção Desejada!”);
System.out.println(“1-Apagar Conta”);
System.out.println(“2-Sacar”);
System.out.println(“3-Depositar”);
System.out.println(“4-Saldo”);
System.out.println(“5-Saldo total de contas”);
System.out.println(“6-Sair”);
int op=console.nextInt();

do{
switch(op){
case 1:
case 2:{
System.out.println(“Digite o valor a ser sacado”);
double val=console.nextDouble();
cont.saque(val);
break;
}
case 3:{
System.out.println(“Digite o valor a ser depositado”);
double val=console.nextDouble();
cont.deposito(val);
break;
}
case 4:
// falta implementar
case 5:
// falta implementar
case 6:{
System.exit(0);
break;
}
}
}while(op!=6);
}
}
[/code]

[code]import java.util.ArrayList;

public class Banco{

ArrayList contas = new ArrayList();

public void adicionaConta(ContaBancaria a)
{
contas.add(a);
}

public double getBalanco()
{
double total=0;
for(ContaBancaria a : contas)
total += total+a.getSaldo();
return total;
}

public ContaBancaria buscaConta(String n)
{
for(ContaBancaria a : contas)
{
if(n.equals(a.getNumero()));
return a;
}
return null;
}

public void removerConta(String n)
{
for(ContaBancaria a : contas)
if(n.equals(a.getNumero()));
contas.remove(a);
}

}[/code]

[code]public class ContaBancaria
{
private String numero;
private double saldo;

public ContaBancaria(String n, double v)
{
numero= n;
saldo = v;
}

public void setNumero(String n)
{
numero= n;
}

public void setSaldo(double s)
{
saldo = s;
}

public String getNumero()
{
return numero;
}

public double getSaldo()
{
return saldo;
}

public void deposito(double v)
{
saldo +=v;
}

public void saque (double v)
{
saldo-=v;
}
}[/code]

Copie a pilha de erros que está aparecendo e cole aqui pra gente ver do que se trata …

vlw

H:\programas java\banco>javac Menu.java
Menu.java:67: variable cont might not have been initialized
cont.saque(val);
^
Menu.java:73: variable cont might not have been initialized
cont.deposito(val);
^
.\Banco.java:35: cannot find symbol
symbol : variable a
location: class Banco
contas.remove(a);
^
3 errors

Bom dia.
Faça o seguinte:

Vc deve iniciar a variável da classe Menu, como pede o compilador:

ContaBancaria cont = null;

Vc deve arrumar o seu for na classe Banco, por vc fez um for de única linha, então a variável “a”, não pertence ao escopo do for, faça o seguinte:

  public void removerConta(String n) {
	  for(ContaBancaria a : contas){
		  if(n.equals(a.getNumero()));
		  contas.remove(a);
	  }
  }

flw.

Valeu ae galera.
Aos que postaram e aos que mesmo não postando, tentaram ajudar.

Nos dois primeiros erros, uma das linhas de execução dentro dos ifs não faz nada com cont.

No último, veja os ; a mais do lado dos ifs.

Outro erro, você não está lendo op novamente após o switch, entrará em loop infinito.