رفتن به مطلب
  • 0

مشکل در ماشین حساب نویسی


Tohidda

سوال

سلام بزرگواران

من ماشین حساب تو اندروید رو وقتی می نویسم

این کارا رو چطوری انجام بدم

 

1- بعد از اینکه کاربر عدد اول رو زد و بعدش عدد دوم رو زد ممکنه از این به بعد فقط علامت مساوی رو بزنه که آخرین کاری که کاربر کرده هی تکرار میشه. مثلا زده ۳ بعد به علاوه رو زده بعد زده ۵ و از این به بعد فقط مساوی رو می زنه. اینجا باید روی ماشین حساب اعداد زیر چاپ بشه 8 بعد 13 بعد ۱۸ بعد ۲۳ و ....

2-   بعد از اینکه کاربر عدد دوم رو زد جای مساوی مثلا عملگر به علاوه رو بزنه که اینجا باید محاسبات انجام بشه و نتیجه آماده ی جمع شدن با عدد بعدی بشه. مثلا اول زده ۷ بعد زده به علاوه بعد زده ۴ الان اگه مساوی بزن که خب ۱۱ چاپ میشه ولی اگه مثلا عملگر ضرب رو بزنه باید روی صفحه عدد ۱۱ چاپ بشه و عدد ۱۱ در عدد بعدی که کاربر وارد می کنه ضرب بشه.

 

 

کد هام هم به این صورتن

package com.example.administrator.test2;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.text.DecimalFormat;

public class MainActivity extends AppCompatActivity {




    String string="";
    int temp;
    int opearand;
    int op1;
    int op2;
    String optr;



    TextView tt1;
    Button bb1;
    Button bb2;
    Button bb3;
    Button bb4;
    Button bb5;
    Button bb6;
    Button bb7;
    Button bb8;
    Button bb9;
    Button bb10;
    Button bb11;
    Button bb12;
    Button bb13;
    Button bb14;
    Button bb15;
    Button bb16;
    Button bb20;



    float mValueOne , mValueTwo ,result;

    boolean mAddition , mSubtract ,mMultiplication ,mDivision ;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);




        findViews();


        bb1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                tt1.setText(" "  );

            }
        });

        bb2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                tt1.setText(tt1.getText()+"1"  );

            }
        });

        bb3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                tt1.setText(tt1.getText()+"2"  );

            }
        });
        bb4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                tt1.setText(tt1.getText()+"3"  );

            }
        });
        bb5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                if (tt1 == null){
                    tt1.setText("");
                }else {
                    mValueOne = Float.parseFloat(tt1.getText() + "");
                    mMultiplication = true;
                    tt1.setText(null);
                }


            }
        });
        bb6.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                tt1.setText(tt1.getText()+"4"  );

            }
        });
        bb7.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                tt1.setText(tt1.getText()+"5"  );

            }
        });

        bb8.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                tt1.setText(tt1.getText()+"6"  );

            }
        });

        bb9.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                mValueOne = Float.parseFloat(tt1.getText()+"");
                mDivision = true ;
                tt1.setText(null);

            }
        });

        bb10.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                tt1.setText(tt1.getText()+"7"  );

            }
        });

        bb11.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                tt1.setText(tt1.getText()+"8"  );

            }
        });
        bb12.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                tt1.setText(tt1.getText()+"9"  );

            }
        });
        bb13.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                mValueOne = Float.parseFloat(tt1.getText() + "");
                mSubtract = true ;
                tt1.setText(null);

            }

        });
        bb14.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                tt1.setText(tt1.getText()+"0"  );

            }
        });

        bb20.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                tt1.setText(tt1.getText()+".");

            }
        });

        bb15.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                mValueTwo = Float.parseFloat(tt1.getText() + "");

                if (mAddition == true){
                    result = mValueOne + mValueTwo;
                    tt1.setText(result  +"");
                    mAddition = false;
                }



                if (mSubtract == true){
                    tt1.setText(mValueOne - mValueTwo+"");
                    mSubtract=false;
                }

                if (mMultiplication == true){
                    tt1.setText(mValueOne * mValueTwo+"");
                    mMultiplication=false;
                }

                if (mDivision == true){
                    tt1.setText(mValueOne / mValueTwo+"");
                    mDivision=false;
                }
            }

        });

        bb16.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {


                if (tt1 == null) {
                    tt1.setText("");
                } else if{
                    mValueOne = Float.parseFloat(tt1.getText() + "");
                    mAddition = true;
                    tt1.setText(null);
                } else  {
                    result = mValueOne + mValueTwo;
                    tt1.setText(result  +"");

                }
                }


        });



    }
        private boolean isNumber(String str) {

        if(str.length() ==0) {
            return false;
        }
            for(int i = 0; i< str.length();i ++) {
               if( ('0' <= str.charAt(i) && str.charAt(i) <= '9')==false ) {
                   return false;
               }
            }
            return true;




    }
    private void findViews() {
        bb1 = (Button) findViewById(R.id.b1);
        bb2 = (Button) findViewById(R.id.b2);
        bb3 = (Button) findViewById(R.id.b3);
        bb4 = (Button) findViewById(R.id.b4);
        bb5 = (Button) findViewById(R.id.b5);
        bb6 = (Button) findViewById(R.id.b6);
        bb7 = (Button) findViewById(R.id.b7);
        bb8 = (Button) findViewById(R.id.b8);
        bb9 = (Button) findViewById(R.id.b9);
        bb10 = (Button) findViewById(R.id.b10);
        bb11 = (Button) findViewById(R.id.b11);
        bb12 = (Button) findViewById(R.id.b12);
        bb13 = (Button) findViewById(R.id.b13);
        bb14 = (Button) findViewById(R.id.b14);
        bb15 = (Button) findViewById(R.id.b15);
        bb16 = (Button) findViewById(R.id.b16);
        bb20 = (Button) findViewById(R.id.b20);
        tt1 = (TextView) findViewById(R.id.et1);


    }
}

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

0 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

هنوز برای این سوال پاسخی ارسال نشده است

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...