Saturday, November 9, 2013

Calculator



A simple and useful calculator , but with the support of large numbers (more than 30 digits). It can add, subtract, multiply, divide.

Let's start with the graphic interface via the main.xml file. To which will screen appears  
we will use a EditText which have the following properties:   
  1. Result display calculator :


     <EditText android:id="@+id/EditText01"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:textSize="20px"
        android:editable="false"
        android:cursorVisible="false"
     /> 
 
     2.  Buttons calculator : 



     <LinearLayout xmlns:android="http://schemas.android.com/
                                             apk/res/android"
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
     > 
 
     <Button android:id="@+id/button1"
        android:text="1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
     />
 
     <Button android:id="@+id/button2"
        android:text="2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
     />
 
     <Button android:id="@+id/button3"
        android:text="3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
     />
 
     <Button android:id="@+id/buttonPlus"
        android:text="+"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
     />
 
     </LinearLayout>
 



package com.ElectroDroid.android.calculator;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
 
public class Calculator extends Activity {
 
 Button button0;
 Button button1;
 Button button2;
 Button button3;
 Button button4;
 Button button5;
 Button button6;
 Button button7;
 Button button8;
 Button button9;
 Button buttonPlus;
 Button buttonMoins;
 Button buttonDiv;
 Button buttonMul;
 Button buttonC;
 Button buttonEqual;
 Button buttonDot;
 EditText screen;
 
 private double digit1;
 private boolean clicOperator = false;
 private boolean update = false;
 private String operator = "";
 
 
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
     
        button0 = (Button) findViewById(R.id.button0);
        button1 = (Button) findViewById(R.id.button1);
        button2 = (Button) findViewById(R.id.button2);
        button3 = (Button) findViewById(R.id.button3);
        button4 = (Button) findViewById(R.id.button4);
        button5 = (Button) findViewById(R.id.button5);
        button6 = (Button) findViewById(R.id.button6);
        button7 = (Button) findViewById(R.id.button7);
        button8 = (Button) findViewById(R.id.button8);
        button9 = (Button) findViewById(R.id.button9);
        buttonDot = (Button) findViewById(R.id.buttonDot);
        buttonPlus = (Button) findViewById(R.id.buttonPlus);
        buttonMoins = (Button) findViewById(R.id.buttonMoins);
        buttonDiv = (Button) findViewById(R.id.buttonDivision);
        buttonMul = (Button) findViewById(R.id.buttonMultiplier);
        buttonC = (Button) findViewById(R.id.buttonC);
        buttonEqual = (Button) findViewById(R.id.buttonEqual);
 
        screen = (EditText) findViewById(R.id.EditText01);
 

        buttonPlus.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
          plusClick();
         }
        });
 
        buttonMoins.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
          moinsClick();
         }
        });
 
        buttonDiv.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
          divClick();
         }
        });
 
        buttonMul.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
          mulClick();
         }
        });
 
        buttonC.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
          resetClick();
         }
        });
 
        buttonEqual.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
          egalClick();
         }
        });
 
        buttonDot.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
          chiffreClick(".");
         }
        });
 
        button0.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
          chiffreClick("0");
         }
        });
 
        button1.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
          chiffreClick("1");
         }
        });
 
        button2.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
          chiffreClick("2");
         }
        });
 
        button3.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
          chiffreClick("3");
         }
        });
 
        button4.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
          chiffreClick("4");
         }
        });
 
        button5.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
          chiffreClick("5");
         }
        });
 
        button6.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
          chiffreClick("6");
         }
        });
 
        button7.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
          chiffreClick("7");
         }
        });
 
        button8.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
          chiffreClick("8");
         }
        });
 
        button9.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
          chiffreClick("9");
         }
        });
 
    }
 
    
    public void chiffreClick(String str) {
        if(update){
                update = false;
        }else{
            if(!screen.getText().equals("0"))
             str = screen.getText() + str;
        }
        screen.setText(str);
    }
 
    
    public void plusClick(){
 
     if(clicOperator){
      calcul();
            screen.setText(String.valueOf(digit1));
        }else{
            digit1 = Double.valueOf(screen.getText().toString()).doubleValue();
            clicOperator = true;
        }
        operator = "+";
        update = true;
    }
 
    
    public void moinsClick(){
     if(clicOperator){
      calcul();
            screen.setText(String.valueOf(digit1));
        }else{
            digit1 = Double.valueOf(screen.getText().toString()).doubleValue();
            clicOperator = true;
        }
        operator = "-";
        update = true;
    }
 
    
    public void mulClick(){
     if(clicOperator){
      calcul();
      screen.setText(String.valueOf(digit1));
        }else{
            digit1 = Double.valueOf(screen.getText().toString()).doubleValue();
            clicOperator = true;
        }
        operator = "*";
        update = true;
    }
 
    
    public void divClick(){
      if(clicOperator){
       calcul();
       screen.setText(String.valueOf(digit1));
         }else{
          digit1= Double.valueOf(screen.getText().toString()).doubleValue();
          clicOperator = true;
         }
         operator = "/";
         update = true;
    }
 
    
    public void egalClick(){
     calcul();
        update = true;
        clicOperator = false;
    }
 
   
    public void resetClick(){
      clicOperator = false;
         update = true;
         digit1= 0;
         operator = "";
         screen.setText("");
    }
 
    
  private void calcul(){
   if(operator.equals("+")){
    digit1= digit1 + Double.valueOf(screen.getText().toString()).doubleValue();
         screen.setText(String.valueOf(digit1));
        }
 
   if(operator.equals("-")){
    digit1 = digit1 - Double.valueOf(screen.getText().toString()).doubleValue();
        screen.setText(String.valueOf(digit1));
        }
 
   if(operator.equals("*")){
     digit1 = digit1*Double.valueOf(screen.getText().toString()).doubleValue();
          screen.setText(String.valueOf(digit1));
        }
 
   if(operator.equals("/")){
    try{
    digit1 = digit1 / Double.valueOf(screen.getText().toString()).doubleValue();
              screen.setText(String.valueOf(digit1));
            }catch(ArithmeticException e){
                screen.setText("0");
            }
        }
    }
}
 
 
Calculator : 

 

HMAIDA.H

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation.

0 comments:

Post a Comment

 

Copyright @ 2013 ELECTRO DROID.

Designed by Atef.A | Deal Commerce