import java.awt.Dimension;
import javax.swing.*;
import java.awt.Toolkit;
import java.awt.event.*;
public class JavaCalculatorCopy extends JFrame{
JPanel Panel = new JPanel();
JTextArea Input = new JTextArea(1,16);
JTextArea Output = new JTextArea(1,16);
JTextArea Debug = new JTextArea(5,16);
JButton Button0 = new JButton("0");
JButton Button1 = new JButton("1");
JButton Button2 = new JButton("2");
JButton Button3 = new JButton("3");
JButton Button4 = new JButton("4");
JButton Button5 = new JButton("5");
JButton Button6 = new JButton("6");
JButton Button7 = new JButton("7");
JButton Button8 = new JButton("8");
JButton Button9 = new JButton("9");
JButton ButtonDecimalPoint = new JButton(".");
JButton ButtonAns = new JButton("Ans");
JButton ButtonMakeNegative = new JButton("(-)");
JButton ButtonPlus = new JButton("+");
JButton ButtonMinus = new JButton("-");
JButton ButtonTimes = new JButton("*");
JButton ButtonDividedBy = new JButton("/");
JButton ButtonSquared = new JButton("^2");
JButton ButtonPower = new JButton("^");
JButton ButtonSquareRoot = new JButton("√");
JButton ButtonEquals = new JButton("=");
JButton ButtonReset = new JButton("Reset");
String InputString;
String FirstValue = new String();
String SecondValue = new String();
int whatOperator = 20;
double outputNumber;
double AnsValue;
double FirstNumber;
double SecondNumber;
boolean OutputInUse = false;
public static void main(String[] args){
new JavaCalculatorCopy();
}
public JavaCalculatorCopy(){
SetDebugScreen();
this.setSize(220, 390);
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension dim = tk.getScreenSize();
int xPos = (dim.width / 2) - (this.getWidth() / 2);
int yPos = (dim.height / 2) - (this.getHeight() / 2);
this.setLocation(xPos, yPos);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("De Wombat-Calculator");
Panel.add(Input);
ListenForButton lForButton = new ListenForButton();
Button9.addActionListener(lForButton);
Button8.addActionListener(lForButton);
Button7.addActionListener(lForButton);
ButtonPlus.addActionListener(lForButton);
Button4.addActionListener(lForButton);
Button5.addActionListener(lForButton);
Button6.addActionListener(lForButton);
ButtonMinus.addActionListener(lForButton);
Button1.addActionListener(lForButton);
Button2.addActionListener(lForButton);
Button3.addActionListener(lForButton);
ButtonTimes.addActionListener(lForButton);
Button0.addActionListener(lForButton);
ButtonAns.addActionListener(lForButton);
ButtonEquals.addActionListener(lForButton);
ButtonDividedBy.addActionListener(lForButton);
ButtonSquareRoot.addActionListener(lForButton);
ButtonPower.addActionListener(lForButton);
ButtonDecimalPoint.addActionListener(lForButton);
ButtonMakeNegative.addActionListener(lForButton);
ButtonSquared.addActionListener(lForButton);
ButtonReset.addActionListener(lForButton);
Panel.add(Button7);
Panel.add(Button8);
Panel.add(Button9);
Panel.add(ButtonPlus);
Panel.add(Button4);
Panel.add(Button5);
Panel.add(Button6);
Panel.add(ButtonMinus);
Panel.add(Button1);
Panel.add(Button2);
Panel.add(Button3);
Panel.add(ButtonTimes);
Panel.add(Button0);
Panel.add(ButtonAns);
Panel.add(ButtonEquals);
Panel.add(ButtonDividedBy);
Panel.add(ButtonSquareRoot);
Panel.add(ButtonPower);
Panel.add(ButtonDecimalPoint);
Panel.add(ButtonMakeNegative);
Panel.add(ButtonSquared);
Panel.add(Output);
Panel.add(ButtonReset);
Panel.add(Debug);
this.add(Panel);
this.setVisibleJavaCalculatorCopy(true);
}
private class ListenForButton implements ActionListener{}
public JavaCalculatorCopy(){
public void actionPerformed(ActionEvent e SetDebugScreen(){;
this.setSize(220, 390);
if(eToolkit tk = Toolkit.getSourcegetDefaultToolkit(); == Button0){
SetButton
Dimension dim = tk.getScreenSize("0");
}elseint ifxPos = (edim.getSourcewidth / 2) - (this.getWidth() ==/ Button12){;
int yPos = (dim.height / SetButton2) - ("1"this.getHeight() / 2); this.setLocation(xPos, yPos);
this.setResizable(false);
}else ifthis.setDefaultCloseOperation(eJFrame.getSourceEXIT_ON_CLOSE);
this.setTitle("De Wombat-Calculator");
== Button2 Panel.add(Input){;
ListenForButton lForButton = new SetButtonListenForButton("2");
}else if(eButton9.getSourceaddActionListener(lForButton);
== Button3){
Button8.addActionListener(lForButton);
SetButton Button7.addActionListener("3"lForButton);
}else if(eButtonPlus.getSourceaddActionListener(lForButton);
== Button4.addActionListener(lForButton){;
Button5.addActionListener(lForButton);
SetButton Button6.addActionListener("4"lForButton);
}elseButtonMinus.addActionListener(lForButton);
if Button1.addActionListener(elForButton);
Button2.getSourceaddActionListener(lForButton);
== Button5 Button3.addActionListener(lForButton){;
ButtonTimes.addActionListener(lForButton);
SetButton Button0.addActionListener("5"lForButton);
}elseButtonAns.addActionListener(lForButton);
if ButtonEquals.addActionListener(elForButton);
ButtonDividedBy.getSourceaddActionListener(lForButton);
== Button6 ButtonSquareRoot.addActionListener(lForButton){;
ButtonPower.addActionListener(lForButton);
SetButton ButtonDecimalPoint.addActionListener("6"lForButton);
}elseButtonMakeNegative.addActionListener(lForButton);
if ButtonSquared.addActionListener(elForButton);
ButtonReset.getSourceaddActionListener(lForButton);
== Panel.add(Button7){;
Panel.add(Button8);
SetButton Panel.add("7"Button9);
}elsePanel.add(ButtonPlus);
if Panel.add(eButton4);
Panel.getSourceadd(Button5);
== Button8 Panel.add(Button6){;
Panel.add(ButtonMinus);
SetButton Panel.add("8"Button1);
}elsePanel.add(Button2);
if Panel.add(eButton3);
Panel.getSourceadd(ButtonTimes);
== Button9 Panel.add(Button0){;
Panel.add(ButtonAns);
SetButton Panel.add("9"ButtonEquals);
}elsePanel.add(ButtonDividedBy);
if Panel.add(eButtonSquareRoot);
Panel.getSourceadd(ButtonPower);
== Panel.add(ButtonDecimalPoint);
Panel.add(ButtonMakeNegative){;
Panel.add(ButtonSquared);
SetButton Panel.add("-"Output);
}elsePanel.add(ButtonReset);
if Panel.add(eDebug);
this.getSourceadd(Panel);
== ButtonDecimalPoint this.setVisible(true){;
}
private class ListenForButton implements SetButtonActionListener{
public void actionPerformed("."ActionEvent e);{
}else if(e.getSource() == ButtonPlusButton0){
SetButton(" + ", 0, 1SetButton("0");
}else if(e.getSource() == ButtonMinusButton1){
SetButton(" - ", 1, 1SetButton("1");
}else if(e.getSource() == ButtonTimesButton2){
SetButton(" * ", 2, 1SetButton("2");
}else if(e.getSource() == ButtonDividedByButton3){
SetButton(" / ", 3, 1SetButton("3");
}else if(e.getSource() == ButtonPowerButton4){
SetButton("^", 4, 1 SetButton("4"); }else if(e.getSource() == ButtonSquaredButton5){
SetButton("^2", 6, 1 SetButton("5");
}else if(e.getSource() == ButtonSquareRootButton6){
SetButton("√", 5, 0 SetButton("6");
}else if(e.getSource() == ButtonEqualsButton7){ SetButton("7");
}else if(SecondValue.equals("")|SecondValuee.equalsgetSource("-") == Button8){
}else{
SetButton("8");
FirstNumber =}else Doubleif(e.parseDoublegetSource(SecondValue); == Button9){
} SetButton("9");
}else if(whatOperatore.getSource() !=== 7ButtonMakeNegative){
SecondNumber = Double.parseDoubleSetButton(FirstValue"-");
}else if(e.getSource() == ButtonDecimalPoint){
SetButton(".");
}else if(whatOperatore.getSource() == 0ButtonPlus){
outputNumberSetButton(" =+ FirstNumber", +0, SecondNumber;1);
}else if(whatOperatore.getSource() == 1ButtonMinus){
outputNumberSetButton(" =- FirstNumber", -1, SecondNumber;1);
}else if(whatOperatore.getSource() == 2ButtonTimes){
outputNumberSetButton(" =* FirstNumber", *2, SecondNumber;1);
}else if(whatOperatore.getSource() == 3ButtonDividedBy){
outputNumberSetButton(" =/ FirstNumber", /3, SecondNumber;1);
}else if(whatOperatore.getSource() == 4ButtonPower){
outputNumber = Math.powSetButton(FirstNumber"^", SecondNumber4, 1);
}else if(whatOperatore.getSource() == 5ButtonSquared){
if(SecondValue.equalsSetButton("")"^2", 6, 1){;
}else if(e.getSource() == ButtonSquareRoot){
outputNumber = Math.sqrt(SecondNumber);
SetButton("√", 5, 0);
}else if(SecondValuee.equalsgetSource("-")){
== ButtonEquals){ outputNumber = -1 * Mathif(SecondValue.sqrtequals(SecondNumber"");|SecondValue.equals("-")){
}else{
outputNumber = FirstNumber *= MathDouble.sqrtparseDouble(SecondNumberSecondValue);
}
}else if(whatOperator == 6){
outputNumber = Math.pow(FirstNumber, 2);
}
String AnsValue = Double.toString(outputNumber);
Output.append(AnsValue);
OutputInUse = true;
SetDebugScreen();
}else if(e.getSource() == ButtonReset){
Reset();
}else if(e.getSource()whatOperator ==!= ButtonAns7){
SetButton("Ans");
FirstValueSecondNumber = Double.toStringparseDouble(AnsValueFirstValue);
} } }
private void SetDebugScreen if(whatOperator == 0){
Debug outputNumber = FirstNumber + SecondNumber;
}else if(whatOperator == 1){
outputNumber = FirstNumber - SecondNumber;
}else if(whatOperator == 2){
outputNumber = FirstNumber * SecondNumber;
}else if(whatOperator == 3){
outputNumber = FirstNumber / SecondNumber;
}else if(whatOperator == 4){
outputNumber = Math.setTextpow("FirstValue:FirstNumber, "SecondNumber);
+ FirstValue + "\nSecondValue: " + }else if(whatOperator == 5){
if(SecondValue.equals("")){
+ "\nAns Value: " + AnsValue + "\nwhatOperator: outputNumber = Math.sqrt(SecondNumber);
}else if(SecondValue.equals("-")){
+ outputNumber = -1 * Math.sqrt(SecondNumber);
}else{
outputNumber = FirstNumber * Math.sqrt(SecondNumber);
}
}else if(whatOperator == 6){
outputNumber = Math.pow(FirstNumber, 2);
}
public void Reset() {
Input.setText("");
Output.setText("");
FirstValue = "";
String SecondValueAnsValue = "";Double.toString(outputNumber);
whatOperator = 20;
OutputInUse = false;
SetDebugScreenOutput.append(AnsValue);
}
public void SetButton(String i, int j, int k) { OutputInUse = true;
CheckOutput SetDebugScreen(k);
}else if(whatOperatore.getSource() == 20ButtonReset){
Input.append Reset(i); whatOperator = j;
PassData();
}else if(whatOperatore.getSource() == 2ButtonAns){
Input.append SetButton(i"Ans");
whatOperator FirstValue = j;Double.toString(AnsValue);
}
}
}
}
public private void SetButtonSetDebugScreen(String i){
CheckOutput(0);
InputDebug.appendsetText(i);
"FirstValue: " + FirstValue +=+ i;"\nSecondValue: " + SecondValue + "\nAns Value: " + AnsValue + "\nwhatOperator: " + whatOperator);
}
private public void PassDataReset() {
SecondValue = FirstValue; Input.setText("");
Output.setText("");
FirstValue = "";
SecondValue = "";
whatOperator = 20;
OutputInUse = false;
SetDebugScreen();
}
private public void CheckOutputSetButton(String i, int hj, int k){
if CheckOutput(OutputInUsek);
&& h if(whatOperator == 020){
Reset Input.append(i); whatOperator = j;
PassData();
}else if(OutputInUsewhatOperator == 2){
Reset Input.append(i);
FirstValue whatOperator = Double.toStringj;
}
}
public void SetButton(AnsValueString i) {
CheckOutput(0);
Input.setTextappend("Ans"i);
FirstValue += i;
}
private void PassData() {
SecondValue = FirstValue;
FirstValue = "";
}
private void CheckOutput(int h){
if(OutputInUse && h == 0){
Reset();
}else if(OutputInUse){
Reset();
FirstValue = Double.toString(AnsValue);
Input.setText("Ans");
}
}
}
import java.awt.Dimension;
import javax.swing.*;
import java.awt.Toolkit;
import java.awt.event.*;
public class JavaCalculatorCopy extends JFrame{
JPanel Panel = new JPanel();
JTextArea Input = new JTextArea(1,16);
JTextArea Output = new JTextArea(1,16);
JTextArea Debug = new JTextArea(5,16);
JButton Button0 = new JButton("0");
JButton Button1 = new JButton("1");
JButton Button2 = new JButton("2");
JButton Button3 = new JButton("3");
JButton Button4 = new JButton("4");
JButton Button5 = new JButton("5");
JButton Button6 = new JButton("6");
JButton Button7 = new JButton("7");
JButton Button8 = new JButton("8");
JButton Button9 = new JButton("9");
JButton ButtonDecimalPoint = new JButton(".");
JButton ButtonAns = new JButton("Ans");
JButton ButtonMakeNegative = new JButton("(-)");
JButton ButtonPlus = new JButton("+");
JButton ButtonMinus = new JButton("-");
JButton ButtonTimes = new JButton("*");
JButton ButtonDividedBy = new JButton("/");
JButton ButtonSquared = new JButton("^2");
JButton ButtonPower = new JButton("^");
JButton ButtonSquareRoot = new JButton("√");
JButton ButtonEquals = new JButton("=");
JButton ButtonReset = new JButton("Reset");
String InputString;
String FirstValue = new String();
String SecondValue = new String();
int whatOperator = 20;
double outputNumber;
double AnsValue;
double FirstNumber;
double SecondNumber;
boolean OutputInUse = false;
public static void main(String[] args){
new JavaCalculatorCopy();
}
public JavaCalculatorCopy(){
SetDebugScreen();
this.setSize(220, 390);
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension dim = tk.getScreenSize();
int xPos = (dim.width / 2) - (this.getWidth() / 2);
int yPos = (dim.height / 2) - (this.getHeight() / 2);
this.setLocation(xPos, yPos);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("De Wombat-Calculator");
Panel.add(Input);
ListenForButton lForButton = new ListenForButton();
Button9.addActionListener(lForButton);
Button8.addActionListener(lForButton);
Button7.addActionListener(lForButton);
ButtonPlus.addActionListener(lForButton);
Button4.addActionListener(lForButton);
Button5.addActionListener(lForButton);
Button6.addActionListener(lForButton);
ButtonMinus.addActionListener(lForButton);
Button1.addActionListener(lForButton);
Button2.addActionListener(lForButton);
Button3.addActionListener(lForButton);
ButtonTimes.addActionListener(lForButton);
Button0.addActionListener(lForButton);
ButtonAns.addActionListener(lForButton);
ButtonEquals.addActionListener(lForButton);
ButtonDividedBy.addActionListener(lForButton);
ButtonSquareRoot.addActionListener(lForButton);
ButtonPower.addActionListener(lForButton);
ButtonDecimalPoint.addActionListener(lForButton);
ButtonMakeNegative.addActionListener(lForButton);
ButtonSquared.addActionListener(lForButton);
ButtonReset.addActionListener(lForButton);
Panel.add(Button7);
Panel.add(Button8);
Panel.add(Button9);
Panel.add(ButtonPlus);
Panel.add(Button4);
Panel.add(Button5);
Panel.add(Button6);
Panel.add(ButtonMinus);
Panel.add(Button1);
Panel.add(Button2);
Panel.add(Button3);
Panel.add(ButtonTimes);
Panel.add(Button0);
Panel.add(ButtonAns);
Panel.add(ButtonEquals);
Panel.add(ButtonDividedBy);
Panel.add(ButtonSquareRoot);
Panel.add(ButtonPower);
Panel.add(ButtonDecimalPoint);
Panel.add(ButtonMakeNegative);
Panel.add(ButtonSquared);
Panel.add(Output);
Panel.add(ButtonReset);
Panel.add(Debug);
this.add(Panel);
this.setVisible(true);
}
private class ListenForButton implements ActionListener{
public void actionPerformed(ActionEvent e){
if(e.getSource() == Button0){
SetButton("0");
}else if(e.getSource() == Button1){
SetButton("1");
}else if(e.getSource() == Button2){
SetButton("2");
}else if(e.getSource() == Button3){
SetButton("3");
}else if(e.getSource() == Button4){
SetButton("4");
}else if(e.getSource() == Button5){
SetButton("5");
}else if(e.getSource() == Button6){
SetButton("6");
}else if(e.getSource() == Button7){
SetButton("7");
}else if(e.getSource() == Button8){
SetButton("8");
}else if(e.getSource() == Button9){
SetButton("9");
}else if(e.getSource() == ButtonMakeNegative){
SetButton("-");
}else if(e.getSource() == ButtonDecimalPoint){
SetButton(".");
}else if(e.getSource() == ButtonPlus){
SetButton(" + ", 0, 1);
}else if(e.getSource() == ButtonMinus){
SetButton(" - ", 1, 1);
}else if(e.getSource() == ButtonTimes){
SetButton(" * ", 2, 1);
}else if(e.getSource() == ButtonDividedBy){
SetButton(" / ", 3, 1);
}else if(e.getSource() == ButtonPower){
SetButton("^", 4, 1); }else if(e.getSource() == ButtonSquared){
SetButton("^2", 6, 1);
}else if(e.getSource() == ButtonSquareRoot){
SetButton("√", 5, 0);
}else if(e.getSource() == ButtonEquals){
if(SecondValue.equals("")|SecondValue.equals("-")){
}else{
FirstNumber = Double.parseDouble(SecondValue);
}
if(whatOperator != 7){
SecondNumber = Double.parseDouble(FirstValue);
}
if(whatOperator == 0){
outputNumber = FirstNumber + SecondNumber;
}else if(whatOperator == 1){
outputNumber = FirstNumber - SecondNumber;
}else if(whatOperator == 2){
outputNumber = FirstNumber * SecondNumber;
}else if(whatOperator == 3){
outputNumber = FirstNumber / SecondNumber;
}else if(whatOperator == 4){
outputNumber = Math.pow(FirstNumber, SecondNumber);
}else if(whatOperator == 5){
if(SecondValue.equals("")){
outputNumber = Math.sqrt(SecondNumber);
}else if(SecondValue.equals("-")){
outputNumber = -1 * Math.sqrt(SecondNumber);
}else{
outputNumber = FirstNumber * Math.sqrt(SecondNumber);
}
}else if(whatOperator == 6){
outputNumber = Math.pow(FirstNumber, 2);
}
String AnsValue = Double.toString(outputNumber);
Output.append(AnsValue);
OutputInUse = true;
SetDebugScreen();
}else if(e.getSource() == ButtonReset){
Reset();
}else if(e.getSource() == ButtonAns){
SetButton("Ans");
FirstValue = Double.toString(AnsValue);
} } }
private void SetDebugScreen(){
Debug.setText("FirstValue: " + FirstValue + "\nSecondValue: " + SecondValue + "\nAns Value: " + AnsValue + "\nwhatOperator: " + whatOperator);
}
public void Reset() {
Input.setText("");
Output.setText("");
FirstValue = "";
SecondValue = "";
whatOperator = 20;
OutputInUse = false;
SetDebugScreen();
}
public void SetButton(String i, int j, int k) {
CheckOutput(k);
if(whatOperator == 20){
Input.append(i); whatOperator = j;
PassData();
}else if(whatOperator == 2){
Input.append(i);
whatOperator = j;
}
}
public void SetButton(String i){
CheckOutput(0);
Input.append(i);
FirstValue += i;
}
private void PassData() {
SecondValue = FirstValue;
FirstValue = "";
}
private void CheckOutput(int h){
if(OutputInUse && h == 0){
Reset();
}else if(OutputInUse){
Reset();
FirstValue = Double.toString(AnsValue);
Input.setText("Ans");
}
}
}
import java.awt.Dimension;
import javax.swing.*;
import java.awt.Toolkit;
import java.awt.event.*;
public class JavaCalculatorCopy extends JFrame{
JPanel Panel = new JPanel();
JTextArea Input = new JTextArea(1,16);
JTextArea Output = new JTextArea(1,16);
JTextArea Debug = new JTextArea(5,16);
JButton Button0 = new JButton("0");
JButton Button1 = new JButton("1");
JButton Button2 = new JButton("2");
JButton Button3 = new JButton("3");
JButton Button4 = new JButton("4");
JButton Button5 = new JButton("5");
JButton Button6 = new JButton("6");
JButton Button7 = new JButton("7");
JButton Button8 = new JButton("8");
JButton Button9 = new JButton("9");
JButton ButtonDecimalPoint = new JButton(".");
JButton ButtonAns = new JButton("Ans");
JButton ButtonMakeNegative = new JButton("(-)");
JButton ButtonPlus = new JButton("+");
JButton ButtonMinus = new JButton("-");
JButton ButtonTimes = new JButton("*");
JButton ButtonDividedBy = new JButton("/");
JButton ButtonSquared = new JButton("^2");
JButton ButtonPower = new JButton("^");
JButton ButtonSquareRoot = new JButton("√");
JButton ButtonEquals = new JButton("=");
JButton ButtonReset = new JButton("Reset");
String InputString;
String FirstValue = new String();
String SecondValue = new String();
int whatOperator = 20;
double outputNumber;
double AnsValue;
double FirstNumber;
double SecondNumber;
boolean OutputInUse = false;
public static void main(String[] args){
new JavaCalculatorCopy();
}
public JavaCalculatorCopy(){
SetDebugScreen();
this.setSize(220, 390);
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension dim = tk.getScreenSize();
int xPos = (dim.width / 2) - (this.getWidth() / 2);
int yPos = (dim.height / 2) - (this.getHeight() / 2); this.setLocation(xPos, yPos);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("De Wombat-Calculator");
Panel.add(Input);
ListenForButton lForButton = new ListenForButton();
Button9.addActionListener(lForButton);
Button8.addActionListener(lForButton);
Button7.addActionListener(lForButton);
ButtonPlus.addActionListener(lForButton);
Button4.addActionListener(lForButton);
Button5.addActionListener(lForButton);
Button6.addActionListener(lForButton);
ButtonMinus.addActionListener(lForButton);
Button1.addActionListener(lForButton);
Button2.addActionListener(lForButton);
Button3.addActionListener(lForButton);
ButtonTimes.addActionListener(lForButton);
Button0.addActionListener(lForButton);
ButtonAns.addActionListener(lForButton);
ButtonEquals.addActionListener(lForButton);
ButtonDividedBy.addActionListener(lForButton);
ButtonSquareRoot.addActionListener(lForButton);
ButtonPower.addActionListener(lForButton);
ButtonDecimalPoint.addActionListener(lForButton);
ButtonMakeNegative.addActionListener(lForButton);
ButtonSquared.addActionListener(lForButton);
ButtonReset.addActionListener(lForButton);
Panel.add(Button7);
Panel.add(Button8);
Panel.add(Button9);
Panel.add(ButtonPlus);
Panel.add(Button4);
Panel.add(Button5);
Panel.add(Button6);
Panel.add(ButtonMinus);
Panel.add(Button1);
Panel.add(Button2);
Panel.add(Button3);
Panel.add(ButtonTimes);
Panel.add(Button0);
Panel.add(ButtonAns);
Panel.add(ButtonEquals);
Panel.add(ButtonDividedBy);
Panel.add(ButtonSquareRoot);
Panel.add(ButtonPower);
Panel.add(ButtonDecimalPoint);
Panel.add(ButtonMakeNegative);
Panel.add(ButtonSquared);
Panel.add(Output);
Panel.add(ButtonReset);
Panel.add(Debug);
this.add(Panel);
this.setVisible(true);
}
private class ListenForButton implements ActionListener{
public void actionPerformed(ActionEvent e){
if(e.getSource() == Button0){
SetButton("0");
}else if(e.getSource() == Button1){
SetButton("1");
}else if(e.getSource() == Button2){
SetButton("2");
}else if(e.getSource() == Button3){
SetButton("3");
}else if(e.getSource() == Button4){
SetButton("4"); }else if(e.getSource() == Button5){
SetButton("5");
}else if(e.getSource() == Button6){
SetButton("6");
}else if(e.getSource() == Button7){ SetButton("7");
}else if(e.getSource() == Button8){
SetButton("8");
}else if(e.getSource() == Button9){
SetButton("9");
}else if(e.getSource() == ButtonMakeNegative){
SetButton("-");
}else if(e.getSource() == ButtonDecimalPoint){
SetButton(".");
}else if(e.getSource() == ButtonPlus){
SetButton(" + ", 0, 1);
}else if(e.getSource() == ButtonMinus){
SetButton(" - ", 1, 1);
}else if(e.getSource() == ButtonTimes){
SetButton(" * ", 2, 1);
}else if(e.getSource() == ButtonDividedBy){
SetButton(" / ", 3, 1);
}else if(e.getSource() == ButtonPower){
SetButton("^", 4, 1);
}else if(e.getSource() == ButtonSquared){
SetButton("^2", 6, 1);
}else if(e.getSource() == ButtonSquareRoot){
SetButton("√", 5, 0);
}else if(e.getSource() == ButtonEquals){ if(SecondValue.equals("")|SecondValue.equals("-")){
}else{
FirstNumber = Double.parseDouble(SecondValue);
}
if(whatOperator != 7){
SecondNumber = Double.parseDouble(FirstValue);
}
if(whatOperator == 0){
outputNumber = FirstNumber + SecondNumber;
}else if(whatOperator == 1){
outputNumber = FirstNumber - SecondNumber;
}else if(whatOperator == 2){
outputNumber = FirstNumber * SecondNumber;
}else if(whatOperator == 3){
outputNumber = FirstNumber / SecondNumber;
}else if(whatOperator == 4){
outputNumber = Math.pow(FirstNumber, SecondNumber);
}else if(whatOperator == 5){
if(SecondValue.equals("")){
outputNumber = Math.sqrt(SecondNumber);
}else if(SecondValue.equals("-")){
outputNumber = -1 * Math.sqrt(SecondNumber);
}else{
outputNumber = FirstNumber * Math.sqrt(SecondNumber);
}
}else if(whatOperator == 6){
outputNumber = Math.pow(FirstNumber, 2);
}
String AnsValue = Double.toString(outputNumber);
Output.append(AnsValue);
OutputInUse = true;
SetDebugScreen();
}else if(e.getSource() == ButtonReset){
Reset();
}else if(e.getSource() == ButtonAns){
SetButton("Ans");
FirstValue = Double.toString(AnsValue);
}
}
}
private void SetDebugScreen(){
Debug.setText("FirstValue: " + FirstValue + "\nSecondValue: " + SecondValue + "\nAns Value: " + AnsValue + "\nwhatOperator: " + whatOperator);
}
public void Reset() {
Input.setText("");
Output.setText("");
FirstValue = "";
SecondValue = "";
whatOperator = 20;
OutputInUse = false;
SetDebugScreen();
}
public void SetButton(String i, int j, int k){
CheckOutput(k);
if(whatOperator == 20){
Input.append(i); whatOperator = j;
PassData();
}else if(whatOperator == 2){
Input.append(i);
whatOperator = j;
}
}
public void SetButton(String i) {
CheckOutput(0);
Input.append(i);
FirstValue += i;
}
private void PassData() {
SecondValue = FirstValue;
FirstValue = "";
}
private void CheckOutput(int h){
if(OutputInUse && h == 0){
Reset();
}else if(OutputInUse){
Reset();
FirstValue = Double.toString(AnsValue);
Input.setText("Ans");
}
}
}
Loading
Loading
lang-java