1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Interface Grafica - Caixa Eletronico -Realizar Saque

Bom dia, pessoal. o problema é o seguinte: preciso inicializar um caixa eletronico com notas de 10 ou 50 reais. e um possivel usuario deve sacar um determinado valor.mas, ate entao, minha aplicação nao consegue realizar o saque mesmo que eu ja tenha inicializado o caixa. imagino que depois que eu aperto o botao de inicializar o caixa e esse procedimento ser realizado, os valores se perdem.Vejam como ficou meu codigo:


import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField;

public class InterfaceGrafica extends JFrame implements ActionListener{ private JPanel panel; private JLabel labelSaq; private JLabel labelN50; private JLabel labelN10; private JTextField textFieldValor; private JTextField textFieldNota50; private JTextField textFieldNota10; private JButton buttonSaq; private JButton buttonInicializarCaixa; private JTextArea area; private JScrollPane scroll;

public InterfaceGrafica() { super("Saque"); criarComponentes(); configurarJanela(); }

public void criarComponentes(){ panel = new JPanel(); add(panel);

labelN50 = new JLabel("Qtd de Nota de R$50: "); panel.add(labelN50); textFieldNota50 = new JTextField(5); panel.add(textFieldNota50);

labelN10 = new JLabel("Qtd de Nota de R$10: "); panel.add(labelN10); textFieldNota10 = new JTextField(5); panel.add(textFieldNota10);

buttonInicializarCaixa = new JButton("Inicializar Caixa"); buttonInicializarCaixa.addActionListener(this); panel.add(buttonInicializarCaixa);

labelSaq = new JLabel("Valor do Saque R$: "); panel.add(labelSaq);

textFieldValor = new JTextField(5); panel.add(textFieldValor);

buttonSaq = new JButton("Sacar"); buttonSaq.addActionListener(this); panel.add(buttonSaq);

area = new JTextArea(10,10); area.setEditable(false);

scroll = new JScrollPane(); scroll.setViewportView(area); panel.add(area); }

public void configurarJanela(){ pack(); setVisible(true); setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }

public void inicializarCaixa(){ int n50 = Integer.parseInt(textFieldNota50.getText()); int n10 = Integer.parseInt(textFieldNota10.getText());

CaixaEletronico cx = new CaixaEletronico(); cx.inicializarDados(n50, n10); JOptionPane.showMessageDialog(this,"Caixa Inicializado Com Sucesso!\n\nValor R$: "+ cx.getTotal()); }

public void sacarDinheiro(){ double valorSacar = Double.parseDouble(textFieldValor.getText()); CaixaEletronico cx = new CaixaEletronico();

if(valorSacar < cx.getTotal()){ cx.inicializarSaq(valorSacar);

/ int nota50, resto50; nota50 = (int) valorSacar / 50; resto50 = ((nota50%10)/10); / JOptionPane.showMessageDialog(this,"Sacado"); } }

@Override public void actionPerformed(ActionEvent e){ if(e.getSource() == buttonInicializarCaixa){ inicializarCaixa(); } else if(e.getSource() == buttonSaq){ sacarDinheiro(); } } }


import javax.swing.JOptionPane;

public class CaixaEletronico {

private double valorSaq; private double nota50; private double nota10; private double total;

public void inicializarSaq(double valorSaq) { this.valorSaq = valorSaq; }

public void inicializarDados(double nota50, double nota10) { this.nota50 = nota50; this.nota10 = nota10; }

public double getTotal() { return this.nota50 50 + this.nota10 10; }

@Override public String toString() { return "CaixaEletronico{" + "valorSaq=" + valorSaq + ", nota50=" + nota50 + ", nota10=" + nota10 + ", total=" + total + '}'; } }


public class Principal { public static void main(String[] args) { InterfaceGrafica gui = new InterfaceGrafica(); } }


a proposta dessa atividade é a seguinte:

Elabore um programa em Java que seja usado em um caixa eletrônico simples de uma instituição bancária. Esse programa deve gerenciar as notas de dinheiro que serão disponibilizadas a um determinado cliente como resposta a uma operação de saque. Para alcançar esse objetivo, crie inicialmente uma classe que represente caixas eletrônicos. Sabe-se que, nessa instituição, todo caixa eletrônico possui notas de R$ 50 e notas de R$ 10. Cada caixa eletrônico possui sua própria quantidade para cada tipo de nota. Crie um método que permita inicializar os dados de um caixa eletrônico e um método que retorne esses dados. Além disso, crie um método que permita efetuar saques de acordo com um valor informado pelo cliente. O método também deve fornecer uma mensagem informando as quantidades de notas que serão disponibilizadas, caso o saque possa ser realizado. Efetue as atualizações necessárias. Além da classe representando caixas eletrônicos, crie uma classe que represente uma janela gráfica com o usuário. A janela gráfica deve possuir componentes que permitam ao usuário informar um valor a ser sacado. As mensagens devem ser exibidas em uma área de texto com barra de rolagem. Exemplo 1: Suponha que o cliente solicite um saque no valor de R$ 170 e o caixa eletrônico possua quantia suficiente em notas de R$ 50 e R$ 10. Nesse caso, o programa deverá exibir uma mensagem informando que serão disponibilizadas 3 notas de R$ 50 e 2 notas de R$ 10.

  • Seu código tá um pouco bagunçado pra ler. Tenta formatar ele em um bloco de código usando três crases pra abrir e fechar o bloco. Vai ajudar na leitura.

    LucasSousa2   3 semanas atrás
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java ou faça a sua própria pergunta.