package com.example.helloapp;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
EditText answer, formula;
Button pl,min,mul,div,rem,del;
Button eq;
String history = "";
String number1 = "";
String number2 = "";
int type;
int PLUS = 0;
int MIN = 1;
int MUL = 2;
int DIV = 3;
int REM = 4;
double fir;
double sec;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
answer = findViewById(R.id.answer);
formula = findViewById(R.id.formula);
formula.setText("");
pl = findViewById(R.id.btn_pl);
min = findViewById(R.id.btn_min);
mul = findViewById(R.id.btn_mul);
div = findViewById(R.id.btn_div);
rem = findViewById(R.id.btn_rem);
del = findViewById(R.id.btn_del);
eq = findViewById(R.id.btn_eq);
pl.setOnClickListener(mListener);
min.setOnClickListener(mListener);
mul.setOnClickListener(mListener);
div.setOnClickListener(mListener);
rem.setOnClickListener(mListener);
del.setOnClickListener(mListener);
eq.setOnClickListener(mListener);
Button clear = findViewById(R.id.btn_clear);
clear.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view){
answer.setText("");
formula.setText("");
fir = sec = 0;
history = number1 = number2 = "";
}
});
Button plus_minus = findViewById(R.id.btn_plmi);
plus_minus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if( (Double.parseDouble(answer.getText().toString()) - (int)Double.parseDouble(answer.getText().toString())) == 0.0){
answer.setText( "" + (Integer.parseInt(answer.getText().toString()) * -1) );
}else{
answer.setText( "" + (Double.parseDouble(answer.getText().toString()) * -1) );
}
}
});
}
Button.OnClickListener mListener = new Button.OnClickListener() {
@Override
public void onClick(View view) {
if(answer.getText().toString() == null){
Toast.makeText(MainActivity.this, "Please type any number", Toast.LENGTH_SHORT).show();
}
switch (view.getId()){
case R.id.btn_pl:
number1 = answer.getText().toString();
history = answer.getText().toString() + "+";
formula.setText(history);
answer.setText("");
type = PLUS;
break;
case R.id.btn_min:
number1 = answer.getText().toString();
history = answer.getText().toString() + "-";
formula.setText(history);
answer.setText("");
type = MIN;
break;
case R.id.btn_mul:
number1 = answer.getText().toString();
history = answer.getText().toString() + "*";
formula.setText(history);
answer.setText("");
type = MUL;
break;
case R.id.btn_div:
number1 = answer.getText().toString();
history = answer.getText().toString() + "/";
formula.setText(history);
answer.setText("");
type = DIV;
break;
case R.id.btn_rem:
number1 = answer.getText().toString();
history = answer.getText().toString() + "%";
formula.setText(history);
answer.setText("");
type = REM;
break;
case R.id.btn_del:
String del_number = answer.getText().toString();
Toast.makeText(MainActivity.this, del_number, Toast.LENGTH_SHORT).show();
answer.setText(del_number.substring(0,del_number.length()-1));
break;
case R.id.btn_eq:
double result = 0;
Toast.makeText(MainActivity.this, "RESULT", Toast.LENGTH_SHORT).show();
number2 = answer.getText().toString();
history = history + number2;
formula.setText(history);
fir = Double.parseDouble(number1);
sec = Double.parseDouble(number2);
if(type == PLUS){
result = fir + sec;
}else if(type == MIN){
result = fir - sec;
}else if(type == MUL){
result = fir * sec;
}else if(type == DIV){
result = fir / sec;
}else if(type == REM){
result = fir % sec;
}
answer.setText("" + result);
number1 = answer.getText().toString();
break;
}
}
};
public void onClick(View view){
switch (view.getId()){
case R.id.btn0 : answer.setText(answer.getText().toString() + 0); break;
case R.id.btn1 : answer.setText(answer.getText().toString() + 1); break;
case R.id.btn2 : answer.setText(answer.getText().toString() + 2); break;
case R.id.btn3 : answer.setText(answer.getText().toString() + 3); break;
case R.id.btn4 : answer.setText(answer.getText().toString() + 4); break;
case R.id.btn5 : answer.setText(answer.getText().toString() + 5); break;
case R.id.btn6 : answer.setText(answer.getText().toString() + 6); break;
case R.id.btn7 : answer.setText(answer.getText().toString() + 7); break;
case R.id.btn8 : answer.setText(answer.getText().toString() + 8); break;
case R.id.btn9 : answer.setText(answer.getText().toString() + 9); break;
case R.id.btn_dot : answer.setText(answer.getText().toString() + "."); break;
}
}
}