7 |
import android.widget.EditText; |
import android.widget.EditText; |
8 |
|
|
9 |
public class CalculatorActivity extends Activity { |
public class CalculatorActivity extends Activity { |
10 |
/** Called when the activity is first created. */ |
enum Ops { |
11 |
|
None, |
12 |
|
Addition, |
13 |
|
Subtraction, |
14 |
|
Multiplication, |
15 |
|
Division |
16 |
|
} |
17 |
|
|
18 |
|
|
19 |
EditText mEdit; |
EditText mEdit; |
20 |
|
|
21 |
|
|
22 |
double mVal1; |
double mVal1; |
23 |
char mOperation = ' '; |
Ops mOperation = Ops.None; |
24 |
boolean mClear = false; |
boolean mClear = false; |
25 |
|
|
26 |
@Override |
@Override |
42 |
findViewById(R.id.btnback).setOnClickListener( new BackClick() ); |
findViewById(R.id.btnback).setOnClickListener( new BackClick() ); |
43 |
findViewById(R.id.btnpoint).setOnClickListener( new PointClick() ); |
findViewById(R.id.btnpoint).setOnClickListener( new PointClick() ); |
44 |
|
|
45 |
findViewById(R.id.btnadd).setOnClickListener( new OperationClick('+') ); |
findViewById(R.id.btnadd).setOnClickListener( new OperationClick(Ops.Addition) ); |
46 |
findViewById(R.id.btnsub).setOnClickListener( new OperationClick('-') ); |
findViewById(R.id.btnsub).setOnClickListener( new OperationClick(Ops.Subtraction) ); |
47 |
findViewById(R.id.btnmul).setOnClickListener( new OperationClick('*') ); |
findViewById(R.id.btnmul).setOnClickListener( new OperationClick(Ops.Multiplication) ); |
48 |
findViewById(R.id.btndiv).setOnClickListener( new OperationClick('/') ); |
findViewById(R.id.btndiv).setOnClickListener( new OperationClick(Ops.Division) ); |
49 |
|
|
50 |
findViewById(R.id.btnsum).setOnClickListener( new SumClick() ); |
findViewById(R.id.btnsum).setOnClickListener( new SumClick() ); |
51 |
|
|
107 |
} |
} |
108 |
|
|
109 |
class OperationClick implements View.OnClickListener { |
class OperationClick implements View.OnClickListener { |
110 |
char mOp; |
Ops mOp; |
111 |
public OperationClick(char op) { |
public OperationClick(Ops op) { |
112 |
mOp = op; |
mOp = op; |
113 |
} |
} |
114 |
|
|
125 |
class SumClick implements View.OnClickListener { |
class SumClick implements View.OnClickListener { |
126 |
@Override |
@Override |
127 |
public void onClick(View v) { |
public void onClick(View v) { |
128 |
if (mOperation == ' ') { |
if (mOperation == Ops.None) { |
129 |
return; |
return; |
130 |
} |
} |
131 |
|
|
133 |
|
|
134 |
Double res = 0.0; |
Double res = 0.0; |
135 |
switch (mOperation) { |
switch (mOperation) { |
136 |
case '+': |
case Addition: |
137 |
res = mVal1 + val2; |
res = mVal1 + val2; |
138 |
break; |
break; |
139 |
case '-': |
case Subtraction: |
140 |
res = mVal1 - val2; |
res = mVal1 - val2; |
141 |
break; |
break; |
142 |
case '*': |
case Multiplication: |
143 |
res = mVal1 * val2; |
res = mVal1 * val2; |
144 |
break; |
break; |
145 |
case '/': |
case Division: |
146 |
res = mVal1 / val2; |
res = mVal1 / val2; |
147 |
break; |
break; |
148 |
} |
} |
152 |
} |
} |
153 |
|
|
154 |
mEdit.setText( res.toString() ); |
mEdit.setText( res.toString() ); |
155 |
mOperation = ' '; |
mOperation = Ops.None; |
156 |
mVal1 = res; |
mVal1 = res; |
157 |
} |
} |
158 |
} |
} |