23
OBJECT ORIENTED PROGRAMMING (ii) Java Final Project Creating Scientific Calculator

Java final project of scientific calcultor

Embed Size (px)

Citation preview

Page 1: Java final project of scientific calcultor

OBJECT ORIENTED PROGRAMMING (ii)

Java Final ProjectCreating Scientific Calculator

Page 2: Java final project of scientific calcultor

Team Members Name Exam

Roll Class Roll 1.Md. Eunus Ali Rupom 140135

24

2.Md. Sujan Bhuiyan 14014938

3.Md. Sejan Ahmed 14015039

Page 3: Java final project of scientific calcultor

Features Arithmetic Functions Geometric Functions Memory Functions

1.Addition 1. Sine1. Memory Save

2.Subtraction 2. Cosine 2. Memory Read

3.Multiplication 3. Tangent 3. Memory Clear

4.Division 4. Degree

5.Percentage 5. Radian

6.Square 6. PI

7.Square Root

8.Cube

9.Cube Root

10.One Divided by X

Page 4: Java final project of scientific calcultor
Page 5: Java final project of scientific calcultor

GUI ProgrammingStep 1 : Creating a JFrame using NetBeans IDE

Step 2 : Forming a design using drag & drop

Step 3 : Make sure all buttons are working

Step 4 : Write down the Action performed of all the components

Step 5 : Removing Bug

Step 6 : Run & Execute the programe.

Page 6: Java final project of scientific calcultor

Source Code Explanations Entering variables into the Calculator Application

“ import java.math.*; //import Statementspublic class Calculate extends javax.swing.JFrame { //class Header

private boolean zerodisp,decdisp,dgrrad,sh; //private Variables Declared

private byte op; //private Variables Declared

private double ina,inb,out; “ //private Variables Declared

Page 7: Java final project of scientific calcultor

Source Code Explanations Contd...“Calculate” Constructor was called with a function “initComponents()” to implement it later

“ public Calculate() { //constructor initComponents();

} “

Page 8: Java final project of scientific calcultor

Source Code Explanations Contd... ActionPerformed pattern of 0-9 digits/buttons & decpoint button private void DIGITActionPerformed(java.awt.event.ActionEvent evt) { “ if(!zerodisp && !decdisp){

display1.setText(null); }

display1.setText(display1.getText()+"DIGIT"); zerodisp = true; //not for zero } ” here , function “setText(String Value)” - Sets the text displayed by the text field & “getText(String Value)” - Obtains the text displayed by the text field.

Page 9: Java final project of scientific calcultor

Source Code Explanations Contd...ActionPerformed on negate: “private void negateActionPerformed(java.awt.event.ActionEvent evt) {

inb = Double.parseDouble(String.valueOf(display1.getText())); out=inb * -1;

if(out > -100000000 && out < 100000000){ display1.setText(String.valueOf(out));

}else { display1.setText("Error");}out=0; }”

Here, Function “String.valueOf()” - Returns the string representation of the input argument & “Double.parseDouble()”- Returns a primitive double containing the value of the string:

Page 10: Java final project of scientific calcultor

Source Code Explanations Contd...ActionPerformed on Memory functions:

“private void memoryreadActionPerformed(java.awt.event.ActionEvent evt) { display1.setText(String.valueOf(memorydisplay.getText())); //took value from memory display & set that at display1}private void memoryclearActionPerformed(java.awt.event.ActionEvent evt) { memorydisplay.setText("0"); //clears memory from memory display & set value as 0} private void memorysaveActionPerformed(java.awt.event.ActionEvent evt) { memorydisplay.setText(String.valueOf(display1.getText()));}” //took value from display1 & set that at memory display

Page 11: Java final project of scientific calcultor

Source Code Explanations Contd...ActionPerformed on Arithmetic Operations & PI:“ private void ARITHMETICActionPerformed(java.awt.event.ActionEvent evt) { inb=Double.parseDouble(String.valueOf(display1.getText()));out=inb*inb; //for square operation/* out = inb*inb*inb for cube operation* out = Math.sqrt(inb) for square root operation * out=Math.cbrt(inb) for cube root operation * out=1/inb for 1 dividev by X */ if(out > -100000000 && out < 100000000){display1.setText(String.valueOf(out)); } else { display1.setText("Error"); }

Page 12: Java final project of scientific calcultor

Source Code Explanations Contd...display2.setText(String.valueOf(inb)+"^2"); //for square operation/*display2.setText(String.valueOf(inb)+"^3"); for cube operation*display2.setText("√"+String.valueOf(inb)); for square root operation*display2.setText("3√"+String.valueOf(inb)); for cube root operation*display2.setText("1/"+String.valueOf(inb)); for 1 divided by X operation*/out=0; op=0; }”

“private void piActionPerformed(java.awt.event.ActionEvent evt) { display1.setText(String.valueOf(Math.PI)); // displays the value of PI } “

Page 13: Java final project of scientific calcultor

Source Code Explanations Contd...ActionPerformed on Geometic Operations:“private void sinActionPerformed(java.awt.event.ActionEvent evt) { inb=Double.parseDouble(String.valueOf(display1.getText()));if(!sh){ if(!dgrrad){ display2.setText("sin("+String.valueOf(inb)+")"); // for sine operation /*display2.setText("cos("+String.valueOf(inb)+")"); for sine operation *display2.setText("tan("+String.valueOf(inb)+")"); for sine operation*/ inb=inb*0.0174532925; } out=Math.sin(inb); // for sine operation /* out=Math.cos(inb); for cosine operation* out=Math.tan(inb); for tan operation*/ }

Page 14: Java final project of scientific calcultor

Source Code Explanations Contd...else{ display2.setText("sinh("+String.valueOf(inb)+")"); // for sinh operation /*display2.setText("cosh("+String.valueOf(inb)+")"); for cosinh operation *display2.setText("tanh("+String.valueOf(inb)+")"); for tanh operation */

out=Math.sinh(inb); // for sinh operation /*out=Math.cosh(inb); for cosh operation*out=Math.tanh(inb); for tanh operation*/ }

display1.setText(String.valueOf(out)); out=0;op=0; }”

Page 15: Java final project of scientific calcultor

Source Code Explanations Contd...ActionPerformed Degree & Radian : “ private void degreesActionPerformed(java.awt.event.ActionEvent evt) { dgrrad=false; } //making boolean value false (default)

private void radiansActionPerformed(java.awt.event.ActionEvent evt) { dgrrad=true;} ” //making boolean value true

Page 16: Java final project of scientific calcultor

Source Code Explanations Contd...ActionPerformed on Arithmetic Operations:

“private void ARITHMETIC(+,-,*,/)ActionPerformed(java.awt.event.ActionEvent evt) { if(op==0){ ina=Double.parseDouble(String.valueOf(display1.getText()));}else{ inb=Double.parseDouble(String.valueOf(display1.getText()));}if(op==1){ina=ina+inb;}if(op==2){ina=ina-inb;}if(op==3){ina=ina*inb; }

Page 17: Java final project of scientific calcultor

Source Code Explanations Contd...if(op==4){ina=ina/inb;} if(op==5){ina=ina*inb/100;}display1.setText("0");display2.setText(String.valueOf(ina)+"+"); //for addition op=1; //for addition/*display2.setText(String.valueOf(ina)+"-"); for subtraction *op=2; for subtraction*display2.setText(String.valueOf(ina)+"*"); for multiplication *op=3; for multiplication*display2.setText(String.valueOf(ina)+"/"); for division *op=4; for division

Page 18: Java final project of scientific calcultor

Source Code Explanations Contd...*display2.setText(String.valueOf(ina)+"%("); for 1 by X*op=5; for 1 by X*/

decdisp=false; //setting boolean value falsezerodisp=false;}” //setting boolean value false

Page 19: Java final project of scientific calcultor

Source Code Explanations Contd...ActionPerformed on Equal Operation:

“ private void equalsActionPerformed(java.awt.event.ActionEvent evt) { inb=Double.parseDouble(String.valueOf(display1.getText())); if(op==0){ out=inb; // if op=0 then show display1 display2.setText(String.valueOf(inb)); } if(op==1){ out=ina+inb; // if op=1 then perform addition

display2.setText(display2.getText()+String.valueOf(inb)); } if(op==2){out=ina-inb; // if op=2 then perform subtractiondisplay2.setText(display2.getText()+String.valueOf(inb)); } if(op==3){ out=ina*inb; // if op=3 then perform multiplication

Page 20: Java final project of scientific calcultor

Source Code Explanations Contd... display2.setText(display2.getText()+String.valueOf(inb));} if(op==4){ out=ina/inb; // if op=4 then perform division display2.setText(display2.getText()+String.valueOf(inb)); } if(op==5){ out=ina*inb/100; // if op=5 then perform percentage display2.setText(display2.getText()+String.valueOf(inb)+")"); } if(out > -100000000 && out < 100000000){ display1.setText(String.valueOf(out)); } else {display1.setText("Error"); }

Page 21: Java final project of scientific calcultor

Source Code Explanations Contd... ina=0; //initialing variable ina to 0 inb=0; //initialing variable inb to 0 out=0; //initialing variable out to 0 decdisp=false; //initialing variable decdisp to false zerodisp=false; //initialing variable zerodisp to false }”

Page 22: Java final project of scientific calcultor

Source Code Explanations Contd...Executing main Function:

“public static void main(String args[]) {java.awt.EventQueue.invokeLater(new Runnable() {

/*The invokeLater() method takes a Runnable object as its parameter. It sends that object to the event-dispatching thread, which executes the run() method. This is why it's always safe for the run() method to execute Swing code.*/

public void run() { new Calculate().setVisible(true); // reveals a Component by

marking it as visible}

}); }”

Page 23: Java final project of scientific calcultor

THANK YOU ALL...