import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.script.ScriptException; /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ /** * * @author jeisonnisperuza */ public class Calculadora extends JFrame implements ActionListener { // argumentos y componentes private JFrame frame; private JPanel panel1 = new JPanel(); private JPanel panel2 = new JPanel(); private JTextField texto, campoTexto1, campoTexto2; private String resultado; private String formula = ""; private int a = 0; // constructor public Calculadora() { setDefaultCloseOperation(Calculadora.EXIT_ON_CLOSE); Container contenedor = getContentPane(); panel1.setLayout(new GridLayout(2, 2)); texto = new JTextField("OPERACIÓN"); texto.setEditable(false); panel1.add(texto); campoTexto1 = new JTextField(10); campoTexto1.setEditable(false); panel1.add(campoTexto1); texto = new JTextField("RESULTADO"); texto.setEditable(false); panel1.add(texto); campoTexto2 = new JTextField(10); campoTexto2.setEditable(false); panel1.add(campoTexto2); contenedor.add(panel1, "North"); panel2.setLayout(new FlowLayout()); for (int i = 0; i < 10; i++) { JButton boton = new JButton("" + i); boton.addActionListener(this); panel2.add(boton); } JButton suma = new JButton("+"); suma.addActionListener(this); panel2.add(suma); JButton resta = new JButton("-"); resta.addActionListener(this); panel2.add(resta); JButton multiplica = new JButton("*"); multiplica.addActionListener(this); panel2.add(multiplica); JButton divide = new JButton("/"); divide.addActionListener(this); panel2.add(divide); JButton igual = new JButton("="); igual.addActionListener(this); panel2.add(igual); JButton CE = new JButton("CE"); CE.addActionListener(this); panel2.add(CE); contenedor.add(panel2, "Center"); // propiedades del frame contenedor this.setSize(350, 230); this.setLocationRelativeTo(null); this.setResizable(false); this.setVisible(true); } public void actionPerformed(ActionEvent evento) { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("js"); if (a == 1 && (!(evento.getActionCommand()).equals("="))) { setResultado(""); } if ((evento.getActionCommand()).equals("CE")) { setFormula(""); setResultado(""); formula = ""; resultado = null; } if (!((evento.getActionCommand()).equals("=") || (evento.getActionCommand()).equals("CE"))) { formula = formula + evento.getActionCommand(); setFormula(formula); } if ((evento.getActionCommand()).equals("=")) { try { resultado = "" + engine.eval(formula); if (!(resultado.equals("null"))) { if (resultado.equals("Infinity") || resultado.equals("NaN")) { setFormula(formula); setResultado("Math Error"); } else { setFormula(formula); setResultado("" + resultado); } } formula = ""; } catch (ScriptException se) { formula = ""; setResultado("Error en la sintaxis "); } a = 1; } } public void setFormula(String laFormula) { campoTexto1.setText(laFormula); } public void setResultado(String elResultado) { campoTexto2.setText(elResultado); } public static void main(String args[]) { new Calculadora().setTitle("Calculadora Jeison Nisperuza"); } }
Dado el costo de un computador portátil y la cantidad de dinero entregado por el cliente, calcule e imprima el cambio que debe devolvérsele al cliente.
Proceso Valor_Venta vPC=0 pEfectivo=0 vCambio=0 Escribir 'Valor del PC' Leer vPC Escribir 'Pago efectivo $' Leer pEfectivo Si (vPC>0) Entonces Si (pEfectivo>0) Entonces vCambio=pEfectivo-vPC Si (vCambio>0) Entonces Escribir 'Gracias por su compra, su cambio es: $',vCambio Sino Escribir 'Falta dinero para completar su compra' FinSi Sino Escribir 'El valor del pago debe ser mayor que cero' FinSi Sino Escribir 'El valor del computador debe ser mayor que cero' FinSi FinProceso Diagrama de Flujo: Deja tu comentario o agradecimiento...

Comentarios
Publicar un comentario