Skip to main content
Code Review

Return to Question

edited tags
Link
Pimgd
  • 22.5k
  • 5
  • 68
  • 144
edited tags
Link
200_success
  • 145.5k
  • 22
  • 190
  • 478
Indentation
Source Link
rolfl
  • 98.1k
  • 17
  • 219
  • 419
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");
 }
 }
}
deleted 38 characters in body; edited tags; edited title
Source Link
Jamal
  • 35.2k
  • 13
  • 134
  • 238
Loading
Source Link
TheWombatGuru
  • 335
  • 1
  • 3
  • 9
Loading
lang-java

AltStyle によって変換されたページ (->オリジナル) /