estarei postando aqui as 2 classes que possuo:
[code]import java.util.Scanner;
public class Menu {
int contador = 0, opcao;
int i = 0, numConta = 0;
Scanner input= new Scanner(System.in);
static Menu menu = new Menu();
Conta[] conta= new Conta[100];
public static void main(String[] args) {
menu.menu();
}
public void menu(){
System.out.println("Qual operação deseja executar?");
System.out.println("1-Cadastrar Conta 2-Alterar Conta 3-Excluir Conta " +
"4-Operações da Conta 0-Sair");
opcao = input.nextInt();
switch(opcao){
case 1: cadastro();
System.out.println("Conta(s) cadastrada(s)!");
break;
case 2: alterar();
break;
case 3: excluir();
break;
case 4: operar();
break;
case '0':
break;
default: System.out.println("Opcao Invalida");
}
menu();
}
public void print(Conta[] conta){
for (i=0; i < contador; i++){
System.out.printf("%s\n\n", conta[i].toString());
}
}
public void cadastro(){
System.out.println("Deseja criar qtas contas:");
contador = input.nextInt();
for (i=0; i < contador; i++){
System.out.println("1 - Conta Comum 2 - Conta Especial 0 - Retornar");
opcao = input.nextInt();
switch(opcao){
case 1:
Conta contaC = new Conta(null, 0, 0);
contaC.criaConta();
conta[i]= contaC;
break;
case 2:
ContaEspecial contaE = new ContaEspecial(null, 0, 0, 0);
contaE.criaConta();
conta[i]= contaE;
System.out.println("Digite o limite:");
contaE.setLimite();
break;
case '0':
menu();
break;
default: System.out.println("Opcao Invalida!");
}
}
}
public void alterar(){
System.out.println("Qual conta deseja alterar?");
System.out.println("Informe o nº da conta:");
numConta = input.nextInt();
for (i = 0; i < conta.length; i++){
if (numConta == conta[i].numConta){
System.out.printf("\n%s\n\n", conta[i].toString());
System.out.println("Qual campo da conta desejas alterar:");
System.out.println("\n1- Nº da Conta:");
System.out.println("2- Nome:");
System.out.println("3- saldo:");
if (conta[i] instanceof ContaEspecial){
System.out.println("4- Limite:");
}
System.out.println("0- Retorna:");
opcao = input.nextInt();
switch(opcao){
case 1:
System.out.println("Digite o nº da conta:");
conta[i].setNumConta();
break;
case 2:
System.out.println("Digite o novo titular:");
conta[i].setNome();
break;
case 3:
System.out.println("Digite o novo saldo:");
conta[i].setSaldo();
break;
case 4:
System.out.println("Digite o novo limite:");
ContaEspecial ce = (ContaEspecial) conta[i];
ce.setLimite();
break;
case 0:
menu();
break;
default: System.out.println("Opcao Invalida!");
}System.out.println("Campo alterado com sucesso");
menu();
}else{
System.out.println("Conta inexistente!");
alterar();
}
}
}
public void excluir(){
}
public void operar(){
System.out.println("Digite o nº da conta:");
numConta = input.nextInt();
try{
for (i = 0; i < conta.length; i++){
if (numConta != conta[i].numConta){
throw new ContaInexistenteException();
}
System.out.println("Qual operação deseja executar?");
System.out.println("1 - Saque 2 - Depósito 0 - Retornar");
opcao = input.nextInt();
switch(opcao){
case 1:
conta[i].saque();
break;
case 2:
break;
case '0':
operar();
break;
default: System.out.println("Opcao Invalida!");
}
}
}catch( ContaInexistenteException e ){
System.out.println( "Conta Inexistente!" );
}
}
}
[/code]
[code]import java.util.Scanner;
public class Conta {
public String nome;
public int numConta;
public float saldo;
public float valor;
Scanner input = new Scanner(System.in);
public Conta(String n, int nCont, float s){
nome = n;
numConta = nCont;
saldo = s;
}
public Conta(String n, int nCont){
nome = n;
numConta = nCont;
saldo = 0;
}
public void setNome(){
this.nome= input.next();
}
public void setNumConta(){
this.numConta = input.nextInt();
}
public void setSaldo(){
this.saldo= input.nextFloat();
}
public String getNome(){
return nome;
}
public int getNumConta(){
return numConta;
}
public float getSaldo(){
return saldo;
}
public void deposito(float val ){
saldo = saldo + val;
}
public void saque(){
System.out.println("Digite o valor para saque:");
float val= input.nextFloat();
try {
if( conta[i].saldo < val ){
throw new SaldoInsuficienteException( );
}
saldo -= val;
}catch( SaldoInsuficienteException e ) {
System.out.println("Saldo Insuficiente ");
}
}
public void criaConta(){
System.out.println("Digite o nome: ");
setNome();
System.out.println("Digite o nº da conta: ");
setNumConta();
System.out.println("Digite o saldo: ");
setSaldo();
}
public String toString(){
return "Cliente: " +getNome()+ "\nConta: " +getNumConta()+ "\nSaldo: " +getSaldo();
}
}
[/code]
Gostaria de saber como fazer para comparar o saldo(já existente de um objeto do array) com o valor a ser sacado
e necessário fazer um new conta?