Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.student.simplecalc;
- import android.app.Activity;
- 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 javax.microedition.khronos.egl.EGLDisplay;
- public class MainActivity extends Activity {
- private static final String TAG = "CalculatorActivity";
- private Calculator mCalculator;
- private EditText mOperandOneEditText;
- private EditText mOperandTwoEditText;
- private TextView mResultTextView;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- mCalculator = new Calculator();
- mResultTextView = (TextView) findViewById(R.id.operation_result_text_view);
- mOperandOneEditText = (EditText) findViewById(R.id.operand_one_edit_text);
- mOperandTwoEditText = (EditText) findViewById(R.id.operand_two_edit_text);
- }
- public void onAdd(View view){
- compute(Calculator.Operator.ADD);
- }
- public void onSub(View view){
- compute(Calculator.Operator.SUB);
- }
- public void onDiv(View view){
- try{
- compute(Calculator.Operator.DIV);
- } catch (IllegalArgumentException iae){
- Log.e(TAG, "IllegalArgumentException", iae);
- mResultTextView.setText(getString(R.string.computationError));
- }
- }
- public void onMul(View view){
- compute(Calculator.Operator.MUL);
- }
- private void compute(Calculator.Operator operator){
- double operandOne;
- double operandTwo;
- try{
- operandOne = getOperand(mOperandOneEditText);
- operandTwo = getOperand(mOperandTwoEditText);
- } catch (NumberFormatException nfe){
- Log.e(TAG, "NumberFormatException", nfe);
- mResultTextView.setText(getString(R.string.computationError));
- return;
- }
- String result;
- switch (operator){
- case ADD:
- result = String.valueOf(mCalculator.add(operandOne, operandTwo));
- break;
- case SUB:
- result = String.valueOf(mCalculator.sub(operandOne, operandTwo));
- break;
- case DIV:
- result = String.valueOf(mCalculator.div(operandOne, operandTwo));
- break;
- case MUL:
- result = String.valueOf(mCalculator.mul(operandOne, operandTwo));
- break;
- default:
- result = getString(R.string.computationError);
- break;
- }
- mResultTextView.setText(result);
- }
- private static Double getOperand(EditText OperandEditText){
- String operandText = getOperandText(OperandEditText);
- return Double.valueOf(operandText);
- }
- private static String getOperandText(EditText operandEditText){
- return operandEditText.getText().toString();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement