Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I need help converting the number input from int to double, and add a decimal button to my code //GUI Calculator Program import javax.swing.*; import

I need help converting the number input from int to double, and add a decimal button to my code //GUI Calculator Program

import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*;

public class Calculator extends JFrame implements ActionListener { private JTextField displayText = new JTextField(30); private JButton[] button = new JButton[16];

private String[] keys = {"7", "8", "9", "/", "4", "5", "6", "*", "1", "2", "3", "-", "0", "C", "=", "+"};

private String numStr1 = ""; private String numStr2 = "";

private char op; private boolean firstInput = true;

public Calculator() { setTitle("My Calculator"); setSize(230, 240); Container pane = getContentPane();

pane.setLayout(null);

displayText.setSize(201, 30); displayText.setLocation(10, 10); pane.add(displayText);

int x, y;

x = 10; y = 40; for(int ind = 0; ind < 16; ind++) { button[ind] = new JButton(keys[ind]); button[ind].addActionListener(this); button[ind].setSize(50, 30); button[ind].setLocation(x, y); pane.add(button[ind]); x = x + 50; if((ind + 1) % 4 == 0) { x = 10; y = y + 30; } }

this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } } );

setVisible(true); }

public void actionPerformed(ActionEvent e) { String resultStr; //Step 1 String str = String.valueOf(e.getActionCommand()); //Steps 1 and 2

char ch = str.charAt(0); //Steps 1 and 3

switch(ch) //Step 4 { case '0': case '1': case '2': //Step 4a case '3': case '4': case '5': case '6': case '7': case '8': case '9': if(firstInput) { numStr1 = numStr1 + ch; displayText.setText(numStr1); } else { numStr2 = numStr2 + ch; displayText.setText(numStr2); } break; case '+': case '-': case '*': //Step 4b case '/': op = ch; firstInput = false; break; case '=': resultStr = evaluate(); //Step 4c displayText.setText(resultStr); numStr1 = resultStr; numStr2 = ""; firstInput = false; break; case 'C': displayText.setText(""); //Step 4c numStr1 = ""; numStr2 = ""; firstInput = true; } }

private String evaluate() { final char beep = '\u0007';

try { int A = Integer.parseInt(numStr1); int B = Integer.parseInt(numStr2); int result = 0;

switch(op) { case '+': result = A + B; break; case '-': result = A - B; break; case '*': result = A * B; break; case '/': result = A / B; }

return String.valueOf(result); } catch(ArithmeticException e) { System.out.print(beep); return "E R R O R: " + e.getMessage(); } catch(NumberFormatException e) { System.out.print(beep); if(numStr1.equals("")) return "E R R O R: Invalid First Number" ; else return "E R R O R: Invalid Second Number" ; } catch(Exception e) { System.out.print(beep); return "E R R O R"; } }

public static void main(String[] args) { Calculator C = new Calculator(); } }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Principles Of Multimedia Database Systems

Authors: V.S. Subrahmanian

1st Edition

1558604669, 978-1558604667

More Books

Students also viewed these Databases questions

Question

Describe the Indian constitution and political system.

Answered: 1 week ago

Question

Explain in detail the developing and developed economy of India

Answered: 1 week ago

Question

Problem: Evaluate the integral: I = X 52+7 - 1)(x+2) dx

Answered: 1 week ago

Question

What is gravity?

Answered: 1 week ago

Question

What is the Big Bang Theory?

Answered: 1 week ago

Question

1. How will you, as city manager, handle these requests?

Answered: 1 week ago