Como utilizar o JOptionPane neste caso?

27 respostas
Gleissonpiri

gostaria de fazer isso com o pacote JOptionPane, mas não sei fazer.

criei a classe ContaCorrente

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() { System.out.println("Número da Conta: " + this.conta); System.out.println("Número da agencia: " + this.agencia); System.out.println("Saldo da conta corrente: " + this.saldo); System.out.println("Nome do cliente: " + this.nomeCliente); } }

depois foi criado a classe PrincipalContaCorrente

import java.util.Scanner; public class PrincipalContaCorrente { ContaCorrente cc = new ContaCorrente(); public static void main(String[] args) { PrincipalContaCorrente obj = new PrincipalContaCorrente(); int op = 0; while (op != 9) { Scanner sc = new Scanner(System.in); System.out.println("1 - Cadastrar"); System.out.println("2 - Saque"); System.out.println("3 - Deposito"); System.out.println("4 - Consultar Saldo"); System.out.println("9 - Sair"); System.out.println("Entre com uma opção: "); op = sc.nextInt(); 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() { Scanner sc = new Scanner(System.in); System.out.println("Entre com o valor para o deposito: "); double valor = sc.nextDouble(); this.cc.depositar(valor); System.out.println("Deposito realizado"); } public void execSaque() { Scanner sc = new Scanner(System.in); System.out.println("Entre com o valor para o saque: "); double valor = sc.nextDouble(); int ret = this.cc.sacar(valor); if (ret == 1) { System.out.println("Saque realizado"); } else { System.out.println("Saque NÂO realizado"); } } public void execConsulta() { this.cc.imprimir(); } public void execCadastrar() { // Para permitir que seja feita a leitura de um nome composto Scanner sc = new Scanner(System.in).useDelimiter("\r\n"); System.out.println("Entre com o nome do cliente: "); this.cc.nomeCliente = sc.nextLine(); System.out.println("Entre com o número da agência: "); this.cc.agencia = sc.nextInt(); System.out.println("Entre com o número da conta: "); this.cc.conta = sc.nextInt(); System.out.println("Entre com o saldo do cliente: "); this.cc.saldo = sc.nextDouble(); } }

Me pediram pra fazer com JOptionPane, mas não sei. Alguem poderia me ajudar por favor?

27 Respostas

lucasportela

Você quer substituir todos os System.out.println?

Exibe uma mensagem:

JOptionPane.showMessageDialog(null, "teste");

Coleta uma informação inserida pelo usuário:

String resposta = JOptionPane.showInputDialog("Digite um valor:");

http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JOptionPane.html

Gleissonpiri

A questão é a seguinte:

Desenvolver uma classe Java chamada ContaCorrente com a seguinte estrutura:

ATRIBUTOS: conta, agencia, saldo e nomeCliente.

MÉTODOS:
Método Descrição
sacar() Retorna valor 1 caso o saque seja realizado ou 0 se não houver saldo suficiente na conta. Deverá receber como parâmetro o valor a ser sacado.
depositar() Realizar o depósito do valor recebido como parâmetro. Não deve retornar valor.
imprimir() Exibir na tela os atributos na classe. Esse método não retorna nada.

Desenvolver uma segunda classe Java chamada PrincipalContaCorrente com a seguinte estrutura:

Criar um atributo da classe ContaCorrente para ser usado nos métodos da classe para realizar saques e depósitos. Não se esquecer de executar o operador new para o atributo criado.
Obs.: Atenção, pois ao executar o programa  poderemos fazer um saque se  tivermos realizado um depósito.

MÉTODOS:
Método Descrição
main() Implementá-lo conforme o padrão da linguagem Java. O método main() deverá criar um loop para o usuário escolher entre as opções cadastrar, sacar, depositar ou consultar. Se for selecionada a opção sacar, executar o método execSaque(). Se for selecionado depositar, executar o método execDeposito(). Para a opção consultar, executar o método execConsulta(). Para a opção cadastrar, executar o método execCadastro().

execSaque() Solicitar ao usuário que digite um valor e executar o método sacar() da classe ContaCorrente usando o atributo criado. Testar o retorno do método sacar(). Se for retornado 1, exibir ?Saque realizado?, caso contrário, exibir ?Saque NÃO realizado?.

execDeposito() Solicitar ao usuário que digite um valor e executar o método depositar() da classe ContaCorrente usando o objeto criado anteriormente.

execConsulta() Apresentar os atributos na tela executando o método imprimir() da classe ContaCorrente.

execCadastro() Solicitar que o usuário realize a leitura dos dados via teclado e em seguida realize a atribuição dos valores lidos do teclado aos atributos do objeto da classe ContaCorrente, criado como atributo desta classe.

JOptionPane

lucasportela

Exemplo:

JOptionPane.showMessageDialog(null, "Número da Conta: " + "756\nNúmero da agencia: " + "1\n" );

executa isso no seu código, vê como fica e tente entender como fazer

Gleissonpiri

lucasportela:
Você quer substituir todos os System.out.println?

Exibe uma mensagem:

JOptionPane.showMessageDialog(null, "teste");

Coleta uma informação inserida pelo usuário:

String resposta = JOptionPane.showInputDialog("Digite um valor:");

http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JOptionPane.html

Eu sei fazer da forma que esta la em cima com System.out.println.

Estou no começo de programação e perdi a aula que ensinava com JOptionPane.

Preciso entregar isso no formato JOptionPane.

lucasportela

Pelo que entendi, é preciso fazer o menu e exibir os resultados em JOptionPane…
com os exemplos que te dei e o manual da API da oracle, ja dá pra resolver

qual a sua dúvida? acho que não estou entendendo direito

Gleissonpiri

lucasportela:
Pelo que entendi, é preciso fazer o menu e exibir os resultados em JOptionPane…
com os exemplos que te dei e o manual da API da oracle, ja dá pra resolver

qual a sua dúvida? acho que não estou entendendo direito

vamos la.

1)vou ter que colocar la em cima “import javax.swing.JOptionPane;” isso eu sei
3)ACHO que não terá o System.out.println
2)ao inves de exibir assim:
1 - Cadastrar
2 - Saque
3 - Deposito
4 - Consultar Saldo
9 - Sair
Entre com uma opção:
1
Entre com o nome do cliente:
eu gostaria que fosse exibido com aquelas caixas de dialogo do JOptionPane
3) eu não sei nada do JOptionPane e gostaria que alguem fizesse nesse formato pra mim ver como faz
4)eu mostrei esse codigo só pra ver como eu queria provavelmente mudara muita coisa
5)executa esse codigo no netbeans e ve se tem como fazer ele no JOptionpane

lucasportela

Este trecho você deve substituir por um JOptionPane.

Scanner sc = new Scanner(System.in);  
                System.out.println("1 - Cadastrar");  
                System.out.println("2 - Saque");  
                System.out.println("3 - Deposito");  
                System.out.println("4 - Consultar Saldo");  
                System.out.println("9 - Sair");  
                System.out.println("Entre com uma opção: ");

Exemplo:

int opcao = Integer.parseInt(JOptionPane.showInputDialog("1 - Cadastrar\n" +
        		                                                             "2 - Saque\n" +
        									     "3 - Deposito\n" +
        									     "4 - Consultar Saldo\n" +
        									     "9 - Sair\nEntre com uma opção: "));

mais do que essa explicação eu acabo fazendo o exercicio pra você…

Gleissonpiri

Coloquei o JOptionPane na classe ConcaCorrente

import javax.swing.JOptionPane;
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.showInputDialog("Número da Conta: " + this.conta);
			JOptionPane.showInputDialog("Número da agencia: " + this.agencia);
			JOptionPane.showInputDialog("Saldo da conta corrente: " + this.saldo);
			JOptionPane.showInputDialog("Nome do cliente: " + this.nomeCliente);
	}
}

fiz certo em colocar o JOptionPane nessa classe?

Na classe principal eu coloquei o JOptionPane e retirei o scanner

import javax.swing.JOptionPane;
public class PrincipalContaCorrente {
	ContaCorrente cc = new ContaCorrente();
	public static void main(String[] args) {
			PrincipalContaCorrente obj = new PrincipalContaCorrente();
			int op = 0;
			while (op != 9) {
    int opcao = Integer.parseInt(JOptionPane.showInputDialog("1 - Cadastrar\n" +
                                                     "2 - Saque\n" +
                                                     "3 - Deposito\n" +
                                                     "4 - Consultar Saldo\n" +
                                                     "9 - Sair\nEntre com uma opção: "));
								
					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() {
			JOptionPane.showInputDialog
			("Entre com o valor para o deposito: ");
			double valor = sc.nextDouble();
			this.cc.depositar(valor);
			JOptionPane.showInputDialog("Deposito realizado");
		}
	public void execSaque() {
		
			JOptionPane.showInputDialog("Entre com o valor para o saque: ");
			double valor = sc.nextDouble();
			int ret = this.cc.sacar(valor);
			if (ret == 1) {
				JOptionPane.showInputDialog("Saque realizado");
			} else {
				JOptionPane.showInputDialog("Saque NÂO realizado");
			}
	}
	public void execConsulta() {
			this.cc.imprimir();
	}
	public void execCadastrar() {
			// Para permitir que seja feita a leitura de um nome composto
			
			JOptionPane.showInputDialog("Entre com o nome do cliente: ");
			this.cc.nomeCliente = sc.nextLine();
			JOptionPane.showInputDialog("Entre com o número da agência: ");
			this.cc.agencia = sc.nextInt();
			JOptionPane.showInputDialog("Entre com o número da conta: ");
			this.cc.conta = sc.nextInt();
			JOptionPane.showInputDialog("Entre com o saldo do cliente: ");
			this.cc.saldo = sc.nextDouble();
      	


        }
}

mas tive alguns erros que não consegui concertar, eu sei o pq dos erros mas não sei como concertar... o erro é devido isso aki this.cc.conta = sc.nextInt(); isso é do scanner, mas não sei como utilizar isso no JOptionPane.

essa é só uma questão do exercicio, se alguem não conseguir me explicar como fazer (ja que eu não sei nada de JOptionPane) poderia fazer essa que eu usaria como base para fazer as outras.

B

Na realidade, até onde eu sei, o JOptionPane só guarda strings, por isso que voce precisa usar um integer.parseInt para transformar a string em int.

veja o que o amigo digitou:

int opcao = Integer.parseInt(JOptionPane.showInputDialog("1 - Cadastrar\n" + "2 - Saque\n" + "3 - Deposito\n" + "4 - Consultar Saldo\n" + "9 - Sair\nEntre com uma opção: "));

Isso quer dizer que a variavel “opção” será atribuido o que o usuario digitar, como se já fosse um scanner.

Voce pode (e deve, para limpar o codigo) retirar toda referencia a scanner sim.

Gleissonpiri

Blue:
Na realidade, até onde eu sei, o JOptionPane só guarda strings, por isso que voce precisa usar um integer.parseInt para transformar a string em int.

veja o que o amigo digitou:

int opcao = Integer.parseInt(JOptionPane.showInputDialog("1 - Cadastrar\n" + "2 - Saque\n" + "3 - Deposito\n" + "4 - Consultar Saldo\n" + "9 - Sair\nEntre com uma opção: "));

Isso quer dizer que a variavel “opção” será atribuido o que o usuario digitar, como se já fosse um scanner.

Voce pode (e deve, para limpar o codigo) retirar toda referencia a scanner sim.

eu retiro as referncias ao scanner e coloco as referencias ao JOptionPane? nesse caso como eu utilizo o JOptionPane?

B

Não há necessidade de colocar referencias ao JOptionPane…

Ao usar a linha de código

int opcao = Integer.parseInt(JOptionPane.showInputDialog("1 - Cadastrar\n" + "2 - Saque\n" + "3 - Deposito\n" + "4 - Consultar Saldo\n" + "9 - Sair\nEntre com uma opção: "));

Você já esta “scaneando” o que o usuario digitar e botando na variavel “opcao”, entendeu? não precisa fazer nada aprecido com o Scanner x = new Scanner(System.in) (por exemplo) não…

Gleissonpiri

Blue:
Não há necessidade de colocar referencias ao JOptionPane…

Ao usar a linha de código

int opcao = Integer.parseInt(JOptionPane.showInputDialog("1 - Cadastrar\n" + "2 - Saque\n" + "3 - Deposito\n" + "4 - Consultar Saldo\n" + "9 - Sair\nEntre com uma opção: "));

Você já esta “scaneando” o que o usuario digitar e botando na variavel “opcao”, entendeu? não precisa fazer nada aprecido com o Scanner x = new Scanner(System.in) (por exemplo) não…

se vc verificar no codigo ele esta com erro devido a essa referencia ao scanner, mas se eu retiro ela vai continuar com erro, como se concerta esse erro? esse é o problema

lucasportela

Erro na linha 14

switch (op) {

o certo seria

switch (opcao) {

Entenda o código que eu lhe mostrei e adapte ao seu programa, não quero ficar fazendo por você, o importante é que você entenda a idéia. Se reparar bem, ao corrigir isto, irá ter que corrigir em outros pontos, tente entender e resolver

Gleissonpiri

lucasportela:
Erro na linha 14

switch (op) {

o certo seria

switch (opcao) {

Entenda o código que eu lhe mostrei e adapte ao seu programa, não quero ficar fazendo por você, o importante é que você entenda a idéia. Se reparar bem, ao corrigir isto, irá ter que corrigir em outros pontos, tente entender e resolver

continua com os mesmos erros nos mesmo lugares devido fazer referencia ao scanner e não ao JOptionPane
linhas 33,40,55,57,59,61 (ja tentei muito, mas o conhecimento sobre JOptionPane é quase zero)

Alem dessa questão eu tenho outras, se vc me mostrasse como fica esse no JOptionPane eu poderia fazer as outras que tem alguma coisa haver com essa dai.

Gleissonpiri

Alguem por favor poderia me ajudar?

ruben_m

se vais trocar por Joptionpane , ja não vais precisar das referencias do Scaner!

o resto é so não esquecer de fazer os Casts tipo:

int a = Integer.parseInt(JOptionPane.ShowInputDialog()); float b = Integer.parseInt(JOptionPane.ShowInputDialog()); String C = JOptionPane.ShowInputDialog()

espero ter ajudado

Gleissonpiri

consegui aki, mas concerteza deve ter uma forma mais facil e menos trabalhosa do que do jeito que fiz, tive que criar 3 classes.

Gleissonpiri

consegui aki, mas concerteza deve ter uma forma mais facil e menos trabalhosa do que do jeito que fiz, tive que criar 3 classes.

ruben_m

desculpe , não sei se entendi mal a duvida , mas não vejo necessidade em importar 3 classes

Gleissonpiri

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.

ruben_m

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

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: "));
			
	}
}
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

ruben_m

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

Erro Corrigido , valeu cara!

Gleissonpiri
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

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

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;
         }


}

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.

ruben_m
Gleissonpiri:
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

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

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;
         }


}

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.

Valeu pela correção , eu nem tentei correr , fui so modificando !!! força ai

G

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

Yaakov_Heli

Cara! Muito obrigado. Esse código vai ser muito útil.

Criado 17 de agosto de 2011
Ultima resposta 13 de dez. de 2021
Respostas 27
Participantes 6