8
8
import android .widget .TextView ;
9
9
import android .widget .Toast ;
10
10
11
+ import java .util .Stack ;
12
+
11
13
public class MainActivity extends AppCompatActivity {
12
14
13
15
Button button0 ,button1 ,button2 ,button3 ,button4 ,button5 ,button6 ,button7 ,button8 ,button9 ;
14
- Button buttonAdd ,buttonSubtract ,buttonMul ,buttonDiv ,buttonClear ,buttonEqual ,buttonExit ;
15
- String result ,posi ;
16
+ Button buttonAdd ,buttonSubtract ,buttonMul ,buttonDiv ,buttonClear ,buttonEqual ,buttonExit , buttonraise , buttondel ;
17
+ String result ,result2 ;
16
18
String tmp ,operator ;
17
-
19
+ boolean flag = false ;
18
20
TextView resultTextView ,t1view ;
19
21
20
22
@ Override
@@ -24,6 +26,7 @@ protected void onCreate(Bundle savedInstanceState) {
24
26
initControl ();
25
27
initControlListener ();
26
28
t1view = findViewById (R .id .textview );
29
+ resultTextView .setTextSize (40 );
27
30
}
28
31
29
32
private void initControlListener (){
@@ -123,6 +126,18 @@ public void onClick(View v) {
123
126
onEqualButtonClicked ();
124
127
}
125
128
});
129
+ buttonraise .setOnClickListener (new View .OnClickListener () {
130
+ @ Override
131
+ public void onClick (View v ) {
132
+ onOperatorButtonClicked ("^" );
133
+ }
134
+ });
135
+ buttondel .setOnClickListener (new View .OnClickListener () {
136
+ @ Override
137
+ public void onClick (View v ) {
138
+ onDeleteButtonClicked ();
139
+ }
140
+ });
126
141
buttonExit .setOnClickListener (new View .OnClickListener () {
127
142
@ Override
128
143
public void onClick (View v ) {
@@ -138,10 +153,12 @@ private void onExitButtonClicked(){
138
153
}
139
154
140
155
private void onEqualButtonClicked (){
141
- int res = 0 ;
156
+ long res = 0 ;
157
+ flag = true ;
142
158
try {
143
- int number = Integer .valueOf (tmp );
144
- int number2 = Integer .valueOf (resultTextView .getText ().toString ().substring (tmp .length ()+operator .length (),resultTextView .length ()));
159
+ long number = Long .valueOf (tmp );
160
+ long number2 = Long .valueOf (resultTextView .getText ().toString ().substring (tmp .length ()+operator .length (),resultTextView .length ()));
161
+
145
162
switch (operator ) {
146
163
case "+" :
147
164
res = number + number2 ;
@@ -158,14 +175,19 @@ private void onEqualButtonClicked(){
158
175
case "*" :
159
176
res = number * number2 ;
160
177
break ;
178
+
179
+ case "^" :
180
+ res = (int )Math .pow (number ,number2 );
161
181
}
162
182
result = String .valueOf (res );
183
+
163
184
resultTextView .setText (result );
164
185
}catch (Exception e ){
165
186
e .printStackTrace ();
166
187
}
167
188
}
168
189
190
+
169
191
private void onOperatorButtonClicked (String operator ){
170
192
tmp = resultTextView .getText ().toString ();
171
193
//onClearButtonClicked();
@@ -180,11 +202,18 @@ private void onClearButtonClicked() {
180
202
181
203
private void onNumberButtonClicked (String pos ){
182
204
result = resultTextView .getText ().toString ();
183
- this .posi =pos ;
184
- result = result +posi ;
205
+ result = result +pos ;
185
206
resultTextView .setText (result );
186
207
}
187
208
209
+ private void onDeleteButtonClicked (){
210
+ if (flag ){
211
+ onClearButtonClicked ();
212
+ }else {
213
+ resultTextView .setText (resultTextView .getText ().toString ().substring (0 , resultTextView .getText ().length () - 1 ));
214
+ }
215
+ }
216
+
188
217
private void initControl () {
189
218
button0 = findViewById (R .id .button0 );
190
219
button1 = findViewById (R .id .button1 );
@@ -203,6 +232,8 @@ private void initControl() {
203
232
buttonMul = findViewById (R .id .buttonMul );
204
233
buttonDiv = findViewById (R .id .buttonDiv );
205
234
buttonEqual = findViewById (R .id .buttonEqual );
235
+ buttonraise = findViewById (R .id .buttonraiseto );
236
+ buttondel = findViewById (R .id .buttondelete );
206
237
207
238
resultTextView = findViewById (R .id .textview_result );
208
239
buttonExit = findViewById (R .id .buttonexit );
0 commit comments