diff --git a/lectures/oo/exercicio3/atividade3.md b/lectures/oo/exercicio3/atividade3.md index 1d729bd..d7aca51 100644 --- a/lectures/oo/exercicio3/atividade3.md +++ b/lectures/oo/exercicio3/atividade3.md @@ -1,4 +1,4 @@ ---- +--- title: Atividade 2 - Interfaces gráficas em Java Swing layout: default --- @@ -31,6 +31,179 @@ O usuário deverá entrar com 3 valores, em campos de texto. O quarto valor deve |R$2000,00 | R$1000,00 |0.80 |**87** | +REPOSTA: + +public class Principal { + + public static void main (String[] args) { + JanelaEx1 j = new JanelaEx1(); + } + +} + + +import javax.swing.*; +import java.awt.*; + +public class JanelaEx1 extends JFrame { + JLabel lblVF, + lblVA, + lbli, + lbln; + + JTextField txtVF, + txtVA, + txti, + txtn; + + JButton btnCalcular, + btnLimpar; + + + public JanelaEx1() { + this.setTitle("Janela Principal - Exercício 1"); + this.setSize(450,150); + setLayout(new GridLayout(3, 4)); + + lblVF = new JLabel("VF"); + lblVA = new JLabel("VA"); + lbli = new JLabel("i"); + lbln = new JLabel("n"); + + txtVF = new JTextField(); + txtVA = new JTextField(); + txti = new JTextField(); + txtn = new JTextField(); + + btnCalcular = new JButton("Calcular"); + btnLimpar = new JButton("Limpar"); + + add(lblVF); + add(lblVA); + add(lbli); + add(lbln); + add(txtVF); + add(txtVA); + add(txti); + add(txtn); + add(btnCalcular); + add(btnLimpar); + + btnCalcular.addActionListener(new CalcularListener(this)); + btnLimpar.addActionListener(new LimparListener(this)); + + + setVisible(true); + } + + +} + + +import java.awt.event.*; + +public class CalcularListener implements ActionListener { + + JanelaEx1 j; + + public CalcularListener(JanelaEx1 janela) { + j = janela; + } + + @Override + public void actionPerformed(ActionEvent e) { + // TODO Auto-generated method stub + + float vf, va, i; + int n; + + if(j.txtVF.getText() == null || j.txtVF.getText().trim().equals("")) { + + va = Float.parseFloat(j.txtVA.getText()); + i = Float.parseFloat(j.txti.getText()); + n = Integer.parseInt(j.txtn.getText()); + + i = (float)((i/100.0) + 1.0); + + vf = (float) (va * (Math.pow(i, n))); + + j.txtVF.setText(Float.toString(vf)); + + } + + else if(j.txtVA.getText() == null || j.txtVA.getText().trim().equals("")) { + + vf = Float.parseFloat(j.txtVF.getText()); + i = Float.parseFloat(j.txti.getText()); + n = Integer.parseInt(j.txtn.getText()); + + i = (float)((i/100.0) + 1.0); + + va = (float) (vf / (Math.pow(i, n))); + + j.txtVA.setText(Float.toString(va)); + } + + + else if(j.txti.getText() == null || j.txti.getText().trim().equals("")) { + + vf = Float.parseFloat(j.txtVF.getText()); + va = Float.parseFloat(j.txtVA.getText()); + n = Integer.parseInt(j.txtn.getText()); + + float a = (float) ((1.0) / (n)); + float b = vf/va; + + i = (float) (((Math.pow(b, a)) - 1) * 100); + + j.txti.setText(Float.toString(i)); + + } + + else if(j.txtn.getText() == null || j.txtn.getText().trim().equals("")) { + vf = Float.parseFloat(j.txtVF.getText()); + va = Float.parseFloat(j.txtVA.getText()); + i = Float.parseFloat(j.txti.getText()); + + i = (float)((i/100.0) + 1.0); + + n = (int) ((Math.log10(vf/va))/(Math.log10(i))); + + j.txtn.setText(Integer.toString(n)); + + } + + + } + +} + + +import java.awt.event.*; + +public class LimparListener implements ActionListener{ + + JanelaEx1 j; + + public LimparListener(JanelaEx1 janela) { + j = janela; + } + + @Override + public void actionPerformed(ActionEvent e) { + // TODO Auto-generated method stub + + j.txtVF.setText(null); + j.txtVA.setText(null); + j.txti.setText(null); + j.txtn.setText(null); + + } + + + +} + **Exercício 2:** Crie uma interface gráfica para cálculo dos valores obtidos ao final de cada mês para uma aplicação mensal de umdeterminado valoor e uma determinada taxa de juros. O cálculo do valor obtido ao final é dado pela seguinte fórmula: @@ -47,3 +220,342 @@ onde: Os valores finais de cada mês deverão ser informados através de objetos JLabel. + + +Respostas: + + + + +REPOSTA 1: + +public class Principal { + + public static void main (String[] args) { + JanelaEx1 j = new JanelaEx1(); + } + +} + + +import javax.swing.*; +import java.awt.*; + +public class JanelaEx1 extends JFrame { + JLabel lblVF, + lblVA, + lbli, + lbln; + + JTextField txtVF, + txtVA, + txti, + txtn; + + JButton btnCalcular, + btnLimpar; + + + public JanelaEx1() { + this.setTitle("Janela Principal - Exercício 1"); + this.setSize(450,150); + setLayout(new GridLayout(3, 4)); + + lblVF = new JLabel("VF"); + lblVA = new JLabel("VA"); + lbli = new JLabel("i"); + lbln = new JLabel("n"); + + txtVF = new JTextField(); + txtVA = new JTextField(); + txti = new JTextField(); + txtn = new JTextField(); + + btnCalcular = new JButton("Calcular"); + btnLimpar = new JButton("Limpar"); + + add(lblVF); + add(lblVA); + add(lbli); + add(lbln); + add(txtVF); + add(txtVA); + add(txti); + add(txtn); + add(btnCalcular); + add(btnLimpar); + + btnCalcular.addActionListener(new CalcularListener(this)); + btnLimpar.addActionListener(new LimparListener(this)); + + + setVisible(true); + } + + +} + + +import java.awt.event.*; + +public class CalcularListener implements ActionListener { + + JanelaEx1 j; + + public CalcularListener(JanelaEx1 janela) { + j = janela; + } + + @Override + public void actionPerformed(ActionEvent e) { + // TODO Auto-generated method stub + + float vf, va, i; + int n; + + if(j.txtVF.getText() == null || j.txtVF.getText().trim().equals("")) { + + va = Float.parseFloat(j.txtVA.getText()); + i = Float.parseFloat(j.txti.getText()); + n = Integer.parseInt(j.txtn.getText()); + + i = (float)((i/100.0) + 1.0); + + vf = (float) (va * (Math.pow(i, n))); + + j.txtVF.setText(Float.toString(vf)); + + } + + else if(j.txtVA.getText() == null || j.txtVA.getText().trim().equals("")) { + + vf = Float.parseFloat(j.txtVF.getText()); + i = Float.parseFloat(j.txti.getText()); + n = Integer.parseInt(j.txtn.getText()); + + i = (float)((i/100.0) + 1.0); + + va = (float) (vf / (Math.pow(i, n))); + + j.txtVA.setText(Float.toString(va)); + } + + + else if(j.txti.getText() == null || j.txti.getText().trim().equals("")) { + + vf = Float.parseFloat(j.txtVF.getText()); + va = Float.parseFloat(j.txtVA.getText()); + n = Integer.parseInt(j.txtn.getText()); + + float a = (float) ((1.0) / (n)); + float b = vf/va; + + i = (float) (((Math.pow(b, a)) - 1) * 100); + + j.txti.setText(Float.toString(i)); + + } + + else if(j.txtn.getText() == null || j.txtn.getText().trim().equals("")) { + vf = Float.parseFloat(j.txtVF.getText()); + va = Float.parseFloat(j.txtVA.getText()); + i = Float.parseFloat(j.txti.getText()); + + i = (float)((i/100.0) + 1.0); + + n = (int) ((Math.log10(vf/va))/(Math.log10(i))); + + j.txtn.setText(Integer.toString(n)); + + } + + + } + +} + + +import java.awt.event.*; + +public class LimparListener implements ActionListener{ + + JanelaEx1 j; + + public LimparListener(JanelaEx1 janela) { + j = janela; + } + + @Override + public void actionPerformed(ActionEvent e) { + // TODO Auto-generated method stub + + j.txtVF.setText(null); + j.txtVA.setText(null); + j.txti.setText(null); + j.txtn.setText(null); + + } + + + +} + + + + + +RESPOSTA 2: + +public class Principal { + + public static void main (String[] args) { + Janela2 j = new Janela2(); + } + +} + + + +import javax.swing.*; +import java.awt.*; + +public class Janela2 extends JFrame{ + + JLabel lbldeposito, + lbljuros, + lblmeses; + + JTextField txtdeposito, + txtjuros, + txtmeses; + + JButton btncalcular, + btnlimpar; + + JLabel [] labels = new JLabel[200]; + + + public Janela2 () { + this.setTitle("Janela Principal - Exercício 2"); + this.setSize(400,400); + + Container panel = getContentPane(); + + setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); + + lbldeposito = new JLabel("Deposito Mensal"); + lbljuros = new JLabel("Taxa de Juros"); + lblmeses = new JLabel("Tempo de Aplicação"); + + txtdeposito = new JTextField(); + txtjuros = new JTextField(); + txtmeses = new JTextField(); + + btncalcular = new JButton("Calcular"); + btnlimpar = new JButton("Limpar"); + + for (int i = 0; i < labels.length; i++) { + labels[i] = new JLabel(); + add(labels[i]); + } + + add(lbldeposito); + add(txtdeposito); + add(lbljuros); + add(txtjuros); + add(lblmeses); + add(txtmeses); + add(btncalcular); + add(btnlimpar); + + btncalcular.addActionListener(new CalcularListener(this)); + btnlimpar.addActionListener(new LimparListener(this)); + + + setVisible(true); + } + +} + + + + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.text.DecimalFormat; + +public class CalcularListener implements ActionListener { + + Janela2 j; + + public CalcularListener(Janela2 janela) { + // TODO Auto-generated constructor stub + j = janela; + } + + @Override + public void actionPerformed(ActionEvent arg0) { + // TODO Auto-generated method stub + + float deposito = Float.parseFloat(j.txtdeposito.getText()); + float juros = Float.parseFloat(j.txtjuros.getText()); + int meses = Integer.parseInt(j.txtmeses.getText()); + + + + float jurosn; + float jurosmais; + float resultado; + String escreve; + + jurosn = (float) (juros/100); + jurosmais = (float)((juros/100) + 1.0); + + + for (int i = 0; i < meses; i++) { + + resultado = (float) (jurosmais * (((Math.pow(jurosmais, i + 1)) - 1)/jurosn) * deposito); + + DecimalFormat df = new DecimalFormat("0.00"); + + escreve = "\nMês " + (i + 1) + ": " + df.format(resultado); + + j.labels[i].setText(escreve); + } + + + } + +} + + + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +public class LimparListener implements ActionListener { + + Janela2 j; + + public LimparListener(Janela2 janela) { + // TODO Auto-generated constructor stub + j = janela; + } + + @Override + public void actionPerformed(ActionEvent arg0) { + // TODO Auto-generated method stub + + j.txtdeposito.setText(null); + j.txtjuros.setText(null); + j.txtmeses.setText(null); + + for(int i = 0; i < 200; i++) { + j.labels[i].setText(null); + } + + } + +} + +