Infelizmente eu não consegui assimilar o que o pessoal me passou, estou no começo de programação. Ja enviei o trabalho, mas gostaria muito de saber como ficaria da forma mais simples.
Esta ai a solução
public class ContaCorrente {
int conta, agencia;
double saldo;
String nomeCliente;
public int sacar(double valor) {
if (this.saldo >= valor) {
this.saldo = this.saldo - valor;
return 1;
}
return 0;
}
public void depositar(double valor) {
this.saldo = this.saldo + valor;
}
public void imprimir() {
JOptionPane.showMessageDialog(null,"Número da Conta: " + this.conta);
JOptionPane.showMessageDialog(null,"Número da agencia: " + this.agencia);
JOptionPane.showMessageDialog(null,"Saldo da conta corrente: " + this.saldo);
JOptionPane.showMessageDialog(null,"Nome do cliente: " + this.nomeCliente);
}
}
Classe Principal
[code]import javax.swing.*;
public class PrincipalContaCorrente {
ContaCorrente cc = new ContaCorrente();
public static void main(String[] args) {
PrincipalContaCorrente obj = new PrincipalContaCorrente();
int op = 0;
while (op != 9) {
JOptionPane.showMessageDialog(null,"1 - Cadastrar\n2 - Saque\n3 - Deposito\n4 - Consultar Saldo\n9 - Sair");
op = Integer.parseInt(JOptionPane.showInputDialog("Entre com uma opção: ")); // Valeu Lucasportela , nem tinha me apercebido do erro
switch (op) {
case 1:
obj.execCadastrar();
break;
case 2:
obj.execSaque();
break;
case 3:
obj.execDeposito();
break;
case 4:
obj.execConsulta();
break;
}
}
}
public void execDeposito() {
double valor=Float.parseFloat(JOptionPane.showInputDialog("Entre com o valor para o deposito: "));
this.cc.depositar(valor);
JOptionPane.showMessageDialog(null,"Deposito realizado");
}
public void execSaque() {
double valor = Float.parseFloat(JOptionPane.showInputDialog("Entre com o valor para o saque: "));
int ret = this.cc.sacar(valor);
if (ret == 1) {
JOptionPane.showMessageDialog(null,"Saque realizado");
} else {
JOptionPane.showMessageDialog(null,"Saque NÂO realizado");
}
}
public void execConsulta() {
this.cc.imprimir();
}
public void execCadastrar() {
// Para permitir que seja feita a leitura de um nome composto
this.cc.nomeCliente = JOptionPane.showInputDialog("Entre com o nome do cliente: ");
this.cc.agencia = JOptionPane.showInputDialog("Entre com o número da agência: ");
this.cc.conta = Integer.parseInt(JOptionPane.showInputDialog("Entre com o número da conta: "));
this.cc.saldo = Float.parseFloat(JOptionPane.showInputDialog("Entre com o saldo do cliente: "));
}
}
[/code]
ruben_m,
na linha 12 precisa do Interger.parseInt pra converter a opção do menu, acho que você esqueceu ai na hora de postar o código… no resto ta tudo correto
[quote=lucasportela]ruben_m,
na linha 12 precisa do Interger.parseInt pra converter a opção do menu, acho que você esqueceu ai na hora de postar o código… no resto ta tudo correto[/quote]
Erro Corrigido , valeu cara!
[quote=lucasportela]ruben_m,
na linha 12 precisa do Interger.parseInt pra converter a opção do menu, acho que você esqueceu ai na hora de postar o código… no resto ta tudo correto[/quote]
aki num ficou tudo correto, tem um erro na linha 51, mas ficou muito bom
this.cc.agencia = JOptionPane.showInputDialog("Entre com o número da agência: ");
veja só como eu fiz
criei uma classe chama agencia
import java.util.ArrayList;
public class Agencia {
private String cliente;
private String numero;
private ContaCorrent contas[];
public Agencia(String numAgencia) {
cliente = "";
numero = numAgencia;
contas = new ContaCorrent[5];
ArrayList<ContaCorrent> ContaCorrent = new ArrayList<ContaCorrent>();
}
public boolean incluiConta(ContaCorrent conta) {
int posicao;
posicao = procuraPosicaoArray();
if(posicao >= 0){
contas[posicao] = conta;
return true;
}
return false;
}
public String listaContaCorrente(){
String lista="";
for (int i=0;i<contas.length;i++){
if (contas[i]!=null)
lista=lista+contas[i].extrato();
}return lista;
}
private int procuraPosicaoArray() {
int pos = 0;
boolean naoAchou = true;
int retorno = -1;
while ((pos >< contas.length) && naoAchou) {
if (contas[pos] == null) {
retorno = pos;
naoAchou = false;
}
pos++;
}
return retorno;
}
private int localiza(String numero){
int i=0;
int retorno=-1;
while (i< contas.length){
if (contas[i]!=null){
if (contas[i].getNumero().equals(numero)){
return i;
}
}
i++;
}
return retorno;
}
public boolean deposito(String numero,int valor){
int pos=0;
pos=localiza(numero);
if (pos>=0){
contas[pos].deposito(valor);
return true;
}
return false;
}
public ContaCorrent getConta(String numero){
int pos=0;
pos= localiza(numero);
if (pos>=0){
return contas[pos];
}
return null;
}
public boolean excluiConta(String numero){
int pos=0;
pos=localiza(numero);
if(pos>=0){
contas[pos]=null;
return true;
}
else{
return false;
}
}
public boolean sacar (String numero , int valor){
int pos=0;
pos=localiza(numero);
if (pos>=0){
contas[pos].saque(valor);
return true;
}
return false;
}
}
criei a classe conta corrente
[code]
import javax.swing.JOptionPane;
public class ContaCorrent {
private String cliente;
private String numAgencia;
protected int saldo;
private String numero;
public ContaCorrent(String numConta, String nomecliente, String agencianum){
cliente = nomecliente;
numAgencia = agencianum;
numero = numConta;
saldo = 0;
}
public int getSaldo() {
return saldo;
}
public String getNumero() {
return numero;
}
public int deposito(int valor) {
saldo = saldo + valor;
return saldo;
}
public boolean saque(int valor) {
if (saldo >= valor) {
saldo = saldo - valor;
return true;
}
else{
JOptionPane.showMessageDialog(null,“Saque realizado”, “IFPA - COMPUTAÇÃO”, JOptionPane.PLAIN_MESSAGE);
}
return false;
}
public String extrato() {
String extrato;
extrato = "Cliente: "+cliente+"\nAgencia "+numAgencia+"\nConta Nº: " +numero+ "\nSaldo da Conta: " +saldo+"\n";
return extrato;
}
}[/code]
e criei a classe principal
import javax.swing.JOptionPane;
public class PrincipalContaCorrente {
public static void main(String[] args) {
int opcao = 0;
int dep=0;
Agencia agencia1 = new Agencia ("0254-X");
ContaCorrent c = null;
String numeroConta;
String cliente;
String nAgencia;
while (opcao!=6) {
opcao = menu();
switch (opcao) {
case 1:
cliente = JOptionPane.showInputDialog(null,"Informe o nome do cliente", "Licenciatura em Computação - IFPA", JOptionPane.PLAIN_MESSAGE);
nAgencia = JOptionPane.showInputDialog(null,"Informe o número da agencia", "Licenciatura em Computação - IFPA", JOptionPane.PLAIN_MESSAGE);
numeroConta = JOptionPane.showInputDialog(null,"Informe o numero da conta a ser incluida", "Licenciatura em Computação - IFPA", JOptionPane.PLAIN_MESSAGE);
c = new ContaCorrent(numeroConta, cliente, nAgencia);
if (agencia1.incluiConta(c)){
JOptionPane.showMessageDialog(null, "Conta Incluida", "Licenciatura em Computação - IFPA", JOptionPane.PLAIN_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, "Erro de Inclusao", "Licenciatura em Computação - IFPA", JOptionPane.PLAIN_MESSAGE);
}
break;
case 2:
JOptionPane.showMessageDialog(null, agencia1.listaContaCorrente(), "Lista de Contas", JOptionPane.PLAIN_MESSAGE);
break;
case 3: numeroConta = JOptionPane.showInputDialog(null,"digite o numero da Conta", "Licenciatura em Computação - IFPA", JOptionPane.PLAIN_MESSAGE);
c = agencia1.getConta(numeroConta);
if (c != null) {
dep = Integer.parseInt(JOptionPane.showInputDialog(null,"digite o Valor", "Licenciatura em Computação - IFPA", JOptionPane.PLAIN_MESSAGE));
if(agencia1.deposito(numeroConta, dep)) {
JOptionPane.showMessageDialog(null, "Deposito Efetuado", "Licenciatura em Computação - IFPA", JOptionPane.PLAIN_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, "Falha no Deposito", "Licenciatura em Computação - IFPA", JOptionPane.PLAIN_MESSAGE);
}
} else {
JOptionPane.showMessageDialog(null, "Conta Inexistente", "Licenciatura em Computação - IFPA", JOptionPane.PLAIN_MESSAGE);
}
break;
case 4: numeroConta = JOptionPane.showInputDialog(null,"digite o numero da Conta", "IFPA - COMPUTAÇÃO", JOptionPane.PLAIN_MESSAGE);
c = agencia1.getConta(numeroConta);
if (c != null) {
dep = Integer.parseInt(JOptionPane.showInputDialog(null,"digite o Valor do saque", "IFPA - COMPUTAÇÃO", JOptionPane.PLAIN_MESSAGE));
if (agencia1.sacar(numeroConta, dep)) {
} else {
JOptionPane.showMessageDialog(null, " Erro no saque", "IFPA - COMPUTAÇÃO", JOptionPane.PLAIN_MESSAGE);
}
} else {
JOptionPane.showMessageDialog(null, "Conta Inexistente", "IFPA - COMPUTAÇÃO", JOptionPane.PLAIN_MESSAGE);
}
break;
case 5 :{
numeroConta = JOptionPane.showInputDialog(null,"digite o numero da Conta", "IFPA - COMPUTAÇÃO", JOptionPane.PLAIN_MESSAGE);
c = agencia1.getConta(numeroConta);
if (agencia1.excluiConta(numeroConta)) {
JOptionPane.showMessageDialog(null, "Conta excluida com suceso", "IFPA - COMPUTAÇÃO", JOptionPane.PLAIN_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, "Conta Inexistente", "IFPA - COMPUTAÇÃO", JOptionPane.PLAIN_MESSAGE);
}
break;
}
case 6:{
JOptionPane.showMessageDialog(null, "Operação Finalizada", "IFPA - COMPUTAÇÃO", JOptionPane.PLAIN_MESSAGE);
System.exit(0);
break;
}
case 7:{
break;
}
}
}
}
public final static int menu() {
String menuPrincipal = ("1 - Incluir Conta\n"
+ "2 - Saldo\n"
+ "3 - Depositar\n"
+ "4 - Sacar\n"
+ "5 - Excluir Conta \n"
+ "6 - Sair \n");
int opcao = 0;
boolean repete = true;
while (repete) {
opcao = Integer.parseInt(JOptionPane.showInputDialog(null, menuPrincipal, "IFPA - COMPUTAÇÃO", JOptionPane.PLAIN_MESSAGE));
if ((opcao > 0 && opcao <= 4) || opcao == 4) {
}
repete = false;
}
return opcao;
}
}
quase fiquei doido, não consegui do jeito certo, mas conseui.
[quote=Gleissonpiri][quote=lucasportela]ruben_m,
na linha 12 precisa do Interger.parseInt pra converter a opção do menu, acho que você esqueceu ai na hora de postar o código… no resto ta tudo correto[/quote]
aki num ficou tudo correto, tem um erro na linha 51, mas ficou muito bom
this.cc.agencia = JOptionPane.showInputDialog("Entre com o número da agência: ");
veja só como eu fiz
criei uma classe chama agencia
import java.util.ArrayList;
public class Agencia {
private String cliente;
private String numero;
private ContaCorrent contas[];
public Agencia(String numAgencia) {
cliente = "";
numero = numAgencia;
contas = new ContaCorrent[5];
ArrayList<ContaCorrent> ContaCorrent = new ArrayList<ContaCorrent>();
}
public boolean incluiConta(ContaCorrent conta) {
int posicao;
posicao = procuraPosicaoArray();
if(posicao >= 0){
contas[posicao] = conta;
return true;
}
return false;
}
public String listaContaCorrente(){
String lista="";
for (int i=0;i<contas.length;i++){
if (contas[i]!=null)
lista=lista+contas[i].extrato();
}return lista;
}
private int procuraPosicaoArray() {
int pos = 0;
boolean naoAchou = true;
int retorno = -1;
while ((pos >< contas.length) && naoAchou) {
if (contas[pos] == null) {
retorno = pos;
naoAchou = false;
}
pos++;
}
return retorno;
}
private int localiza(String numero){
int i=0;
int retorno=-1;
while (i< contas.length){
if (contas[i]!=null){
if (contas[i].getNumero().equals(numero)){
return i;
}
}
i++;
}
return retorno;
}
public boolean deposito(String numero,int valor){
int pos=0;
pos=localiza(numero);
if (pos>=0){
contas[pos].deposito(valor);
return true;
}
return false;
}
public ContaCorrent getConta(String numero){
int pos=0;
pos= localiza(numero);
if (pos>=0){
return contas[pos];
}
return null;
}
public boolean excluiConta(String numero){
int pos=0;
pos=localiza(numero);
if(pos>=0){
contas[pos]=null;
return true;
}
else{
return false;
}
}
public boolean sacar (String numero , int valor){
int pos=0;
pos=localiza(numero);
if (pos>=0){
contas[pos].saque(valor);
return true;
}
return false;
}
}
criei a classe conta corrente
[code]
import javax.swing.JOptionPane;
public class ContaCorrent {
private String cliente;
private String numAgencia;
protected int saldo;
private String numero;
public ContaCorrent(String numConta, String nomecliente, String agencianum){
cliente = nomecliente;
numAgencia = agencianum;
numero = numConta;
saldo = 0;
}
public int getSaldo() {
return saldo;
}
public String getNumero() {
return numero;
}
public int deposito(int valor) {
saldo = saldo + valor;
return saldo;
}
public boolean saque(int valor) {
if (saldo >= valor) {
saldo = saldo - valor;
return true;
}
else{
JOptionPane.showMessageDialog(null,“Saque realizado”, “IFPA - COMPUTAÇÃO”, JOptionPane.PLAIN_MESSAGE);
}
return false;
}
public String extrato() {
String extrato;
extrato = "Cliente: "+cliente+"\nAgencia "+numAgencia+"\nConta Nº: " +numero+ "\nSaldo da Conta: " +saldo+"\n";
return extrato;
}
}[/code]
e criei a classe principal
import javax.swing.JOptionPane;
public class PrincipalContaCorrente {
public static void main(String[] args) {
int opcao = 0;
int dep=0;
Agencia agencia1 = new Agencia ("0254-X");
ContaCorrent c = null;
String numeroConta;
String cliente;
String nAgencia;
while (opcao!=6) {
opcao = menu();
switch (opcao) {
case 1:
cliente = JOptionPane.showInputDialog(null,"Informe o nome do cliente", "Licenciatura em Computação - IFPA", JOptionPane.PLAIN_MESSAGE);
nAgencia = JOptionPane.showInputDialog(null,"Informe o número da agencia", "Licenciatura em Computação - IFPA", JOptionPane.PLAIN_MESSAGE);
numeroConta = JOptionPane.showInputDialog(null,"Informe o numero da conta a ser incluida", "Licenciatura em Computação - IFPA", JOptionPane.PLAIN_MESSAGE);
c = new ContaCorrent(numeroConta, cliente, nAgencia);
if (agencia1.incluiConta(c)){
JOptionPane.showMessageDialog(null, "Conta Incluida", "Licenciatura em Computação - IFPA", JOptionPane.PLAIN_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, "Erro de Inclusao", "Licenciatura em Computação - IFPA", JOptionPane.PLAIN_MESSAGE);
}
break;
case 2:
JOptionPane.showMessageDialog(null, agencia1.listaContaCorrente(), "Lista de Contas", JOptionPane.PLAIN_MESSAGE);
break;
case 3: numeroConta = JOptionPane.showInputDialog(null,"digite o numero da Conta", "Licenciatura em Computação - IFPA", JOptionPane.PLAIN_MESSAGE);
c = agencia1.getConta(numeroConta);
if (c != null) {
dep = Integer.parseInt(JOptionPane.showInputDialog(null,"digite o Valor", "Licenciatura em Computação - IFPA", JOptionPane.PLAIN_MESSAGE));
if(agencia1.deposito(numeroConta, dep)) {
JOptionPane.showMessageDialog(null, "Deposito Efetuado", "Licenciatura em Computação - IFPA", JOptionPane.PLAIN_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, "Falha no Deposito", "Licenciatura em Computação - IFPA", JOptionPane.PLAIN_MESSAGE);
}
} else {
JOptionPane.showMessageDialog(null, "Conta Inexistente", "Licenciatura em Computação - IFPA", JOptionPane.PLAIN_MESSAGE);
}
break;
case 4: numeroConta = JOptionPane.showInputDialog(null,"digite o numero da Conta", "IFPA - COMPUTAÇÃO", JOptionPane.PLAIN_MESSAGE);
c = agencia1.getConta(numeroConta);
if (c != null) {
dep = Integer.parseInt(JOptionPane.showInputDialog(null,"digite o Valor do saque", "IFPA - COMPUTAÇÃO", JOptionPane.PLAIN_MESSAGE));
if (agencia1.sacar(numeroConta, dep)) {
} else {
JOptionPane.showMessageDialog(null, " Erro no saque", "IFPA - COMPUTAÇÃO", JOptionPane.PLAIN_MESSAGE);
}
} else {
JOptionPane.showMessageDialog(null, "Conta Inexistente", "IFPA - COMPUTAÇÃO", JOptionPane.PLAIN_MESSAGE);
}
break;
case 5 :{
numeroConta = JOptionPane.showInputDialog(null,"digite o numero da Conta", "IFPA - COMPUTAÇÃO", JOptionPane.PLAIN_MESSAGE);
c = agencia1.getConta(numeroConta);
if (agencia1.excluiConta(numeroConta)) {
JOptionPane.showMessageDialog(null, "Conta excluida com suceso", "IFPA - COMPUTAÇÃO", JOptionPane.PLAIN_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, "Conta Inexistente", "IFPA - COMPUTAÇÃO", JOptionPane.PLAIN_MESSAGE);
}
break;
}
case 6:{
JOptionPane.showMessageDialog(null, "Operação Finalizada", "IFPA - COMPUTAÇÃO", JOptionPane.PLAIN_MESSAGE);
System.exit(0);
break;
}
case 7:{
break;
}
}
}
}
public final static int menu() {
String menuPrincipal = ("1 - Incluir Conta\n"
+ "2 - Saldo\n"
+ "3 - Depositar\n"
+ "4 - Sacar\n"
+ "5 - Excluir Conta \n"
+ "6 - Sair \n");
int opcao = 0;
boolean repete = true;
while (repete) {
opcao = Integer.parseInt(JOptionPane.showInputDialog(null, menuPrincipal, "IFPA - COMPUTAÇÃO", JOptionPane.PLAIN_MESSAGE));
if ((opcao > 0 && opcao <= 4) || opcao == 4) {
}
repete = false;
}
return opcao;
}
}
quase fiquei doido, não consegui do jeito certo, mas conseui.[/quote]
Valeu pela correção , eu nem tentei correr , fui so modificando !!! força ai
import javax.swing.JOptionPane; // Importa a Classe JOptionPane
public class depositoBancario
{
public static void main(String [] args)
{
double saldoInicial=100;
JOptionPane.showMessageDialog (null, “BEM VINDO AO BANCO XXXXX PARA CONTINUAR INSIRA O CARTÃO E CLIQUE EM “OK”!”);
JOptionPane.showMessageDialog (null,“SEU SALDO ATUAL É DE “+saldoInicial+” REAIS!”);
double saldoFinal= Double.parseDouble(
JOptionPane.showInputDialog (null,“DIGITE O VALOR DO DEPÓSITO”));
double deposito;
deposito=saldoInicial+saldoFinal;
JOptionPane.showMessageDialog(null,"SALDO ATUAL AGORA É DE "+deposito);
System.exit(0); // Termina o programa
}
}
olha eu tava olhando aqui e achei esse poste aqui e tou com uma dúvida eu coloquei a variavel double pra poder entrar com numeros decimais mas não ta dando certo
Cara! Muito obrigado. Esse código vai ser muito útil.