Can anyone fixing my code please? I try to math +,-,*,/ in Java GUI without pressing the
Fantastic news! We've Found the answer you've been seeking!
Question:
Can anyone fixing my code please?
I try to math +,-,*,/ in Java GUI without pressing the "=" button.
For example: when I press number "1" button (the text box had the number 1 )
then I press "+" button ( the "+" unseen in the text field),
then I press "2" ( now the "2" in the text box )
after that I press "+" [in the text field will have number 3 ->>( 1+2 =3) without using the "=" button].
Now I press "+ " , press "3" and then press "=" the total is 6.
I wanted do the same -,*,/ how can I do that? Thank you
Here is my code:
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; public class Main extends JFrame implements ActionListener { // Instance variable static JTextField resultTextField = new JTextField("0", 16); // main function public static void main(String[] args) { // Create a frame JFrame mainFrame = new JFrame("THI's Calculator"); // Instance object Main calculator = new Main(); // Create a panel JPanel panel = new JPanel(); // Create number buttons JButton number0Button = new JButton("0"); JButton number1Button = new JButton("1"); JButton number2Button = new JButton("2"); JButton number3Button = new JButton("3"); JButton number4Button = new JButton("4"); JButton number5Button = new JButton("5"); JButton number6Button = new JButton("6"); JButton number7Button = new JButton("7"); JButton number8Button = new JButton("8"); JButton number9Button = new JButton("9"); // Create operator buttons JButton clearButton = new JButton("C"); JButton addButton = new JButton("+"); JButton subtractButton = new JButton("-"); JButton multiplyButton = new JButton("*"); JButton divideButton = new JButton("/"); // equal button JButton solveButton = new JButton("="); // Add the instance in addActionListener to call the actionPerformed method number0Button.addActionListener(calculator); number1Button.addActionListener(calculator); number2Button.addActionListener(calculator); number3Button.addActionListener(calculator); number4Button.addActionListener(calculator); number5Button.addActionListener(calculator); number6Button.addActionListener(calculator); number7Button.addActionListener(calculator); number8Button.addActionListener(calculator); number9Button.addActionListener(calculator); clearButton.addActionListener(calculator); addButton.addActionListener(calculator); subtractButton.addActionListener(calculator); multiplyButton.addActionListener(calculator); divideButton.addActionListener(calculator); solveButton.addActionListener(calculator); // Add elements to the panel panel.add(resultTextField); panel.add(clearButton); panel.add(number0Button); panel.add(number1Button); panel.add(number2Button); panel.add(number3Button); panel.add(number4Button); panel.add(number5Button); panel.add(number6Button); panel.add(number7Button); panel.add(number8Button); panel.add(number9Button); panel.add(addButton); panel.add(subtractButton); panel.add(multiplyButton); panel.add(divideButton); panel.add(solveButton); // Add the panel to the frame, set the frame size, visibility and what to do // when closed mainFrame.add(panel); mainFrame.setSize(280, 310); mainFrame.setVisible(true); mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }// ending of the main class public void actionPerformed(ActionEvent e) { resultTextField.setText(""); String command = e.getActionCommand(); if (command.charAt(0) == 'C') { resultTextField.setText(""); } else if (command.charAt(0) == '=') { resultTextField.setText(calculate(resultTextField.getText())); } else { resultTextField.setText(resultTextField.getText() + command); } } public static String calculate(String expression) { char[] arr = expression.toCharArray(); String num = resultTextField.getText(); String operator = ""; double result = 0; for (int i = 0; i < arr.length; i++) { if (arr[i] >= '0' && arr[i] <= '9' || arr[i] == '.') { if (operator.isEmpty()) { num += arr[i]; } else { num += arr[i]; } } if (arr[i] == '+' || arr[i] == '-' || arr[i] == '/' || arr[i] == '*') { operator += arr[i]; } } if (operator.equals("+")) result = (Double.parseDouble(num) + Double.parseDouble(num)); else if (operator.equals("-")) result = (Double.parseDouble(num) - Double.parseDouble(num)); else if (operator.equals("/")) result = (Double.parseDouble(num) / Double.parseDouble(num)); else result = (Double.parseDouble(num) * Double.parseDouble(num)); return num + operator + num + "=" + result; } } // Ending of the Calculator Class
NOTE: I wanted my code is working just like when you are using a calculator app on IPHONE.
Related Book For
Income Tax Fundamentals 2013
ISBN: 9781285586618
31st Edition
Authors: Gerald E. Whittenburg, Martha Altus Buller, Steven L Gill
Posted Date: