Android?Studio實現(xiàn)簡易計算器App?(Java語言版)
本文實例為大家分享了Android Studio實現(xiàn)簡易計算器App的具體代碼,供大家參考,具體內(nèi)容如下
效果演示
布局文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ? ? android:orientation="vertical" android:layout_width="match_parent" ? ? android:layout_height="match_parent"> ? ? <LinearLayout ? ? ? ? android:layout_width="match_parent" ? ? ? ? android:layout_height="0dp" ? ? ? ? android:layout_weight="2" ? ? ? ? android:orientation="vertical"> ? ? ? ? <TextView ? ? ? ? ? ? android:id="@+id/mini" ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? ? android:textSize="40dp" ? ? ? ? ? ? android:text="" ? ? ? ? ? ? android:textDirection="rtl"/> ? ? ? ? <TextView ? ? ? ? ? ? android:id="@+id/max" ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? ? android:textSize="100dp" ? ? ? ? ? ? android:text="" ? ? ? ? ? ? android:textDirection="rtl"/> ? ? </LinearLayout> ? ? <LinearLayout ? ? ? ? android:layout_width="match_parent" ? ? ? ? android:layout_height="0dp" ? ? ? ? android:layout_weight="1" ? ? ? ? android:orientation="horizontal"> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? ? ? android:text="%" ? ? ? ? ? ? ? ? android:textSize="30dp" ? ? ? ? ? ? ? ? android:onClick="surplus"/> ? ? ? ? </LinearLayout> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? ? ? android:text="CE" ? ? ? ? ? ? ? ? android:textSize="30dp" ? ? ? ? ? ? ? ? android:onClick="clearce"/> ? ? ? ? </LinearLayout> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? ? ? android:text="C" ? ? ? ? ? ? ? ? android:textSize="30dp" ? ? ? ? ? ? ? ? android:onClick="clearc"/> ? ? ? ? </LinearLayout> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? ? ? android:text="?" ? ? ? ? ? ? ? ? android:textSize="30dp" ? ? ? ? ? ? ? ? android:onClick="backsprce"/> ? ? ? ? </LinearLayout> ? ? </LinearLayout> ? ? <LinearLayout ? ? ? ? android:layout_width="match_parent" ? ? ? ? android:layout_height="0dp" ? ? ? ? android:layout_weight="1" ? ? ? ? android:orientation="horizontal"> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? ? ? android:text="1/x" ? ? ? ? ? ? ? ? android:textSize="30dp" ? ? ? ? ? ? ? ? android:onClick="reciprocal"/> ? ? ? ? </LinearLayout> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? ? ? android:text="x2" ? ? ? ? ? ? ? ? android:textSize="30dp" ? ? ? ? ? ? ? ? android:onClick="square"/> ? ? ? ? </LinearLayout> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? ? ? android:text="2√x" ? ? ? ? ? ? ? ? android:textSize="30dp" ? ? ? ? ? ? ? ? android:onClick="squareroot"/> ? ? ? ? </LinearLayout> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? ? ? android:text="÷" ? ? ? ? ? ? ? ? android:textSize="60dp" ? ? ? ? ? ? ? ? android:onClick="division"/> ? ? ? ? </LinearLayout> ? ? </LinearLayout> ? ? <LinearLayout ? ? ? ? android:layout_width="match_parent" ? ? ? ? android:layout_height="0dp" ? ? ? ? android:layout_weight="1" ? ? ? ? android:orientation="horizontal"> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? ? ? android:text="7" ? ? ? ? ? ? ? ? android:textSize="30dp" ? ? ? ? ? ? ? ? android:onClick="number_7"/> ? ? ? ? </LinearLayout> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? ? ? android:text="8" ? ? ? ? ? ? ? ? android:textSize="30dp" ? ? ? ? ? ? ? ? android:onClick="number_8"/> ? ? ? ? </LinearLayout> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? ? ? android:text="9" ? ? ? ? ? ? ? ? android:textSize="30dp" ? ? ? ? ? ? ? ? android:onClick="number_9"/> ? ? ? ? </LinearLayout> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? ? ? android:text="×" ? ? ? ? ? ? ? ? android:textSize="30dp" ? ? ? ? ? ? ? ? android:onClick="multiplication"/> ? ? ? ? </LinearLayout> ? ? </LinearLayout> ? ? <LinearLayout ? ? ? ? android:layout_width="match_parent" ? ? ? ? android:layout_height="0dp" ? ? ? ? android:layout_weight="1" ? ? ? ? android:orientation="horizontal"> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? ? ? android:text="4" ? ? ? ? ? ? ? ? android:textSize="30dp" ? ? ? ? ? ? ? ? android:onClick="number_4"/> ? ? ? ? </LinearLayout> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? ? ? android:text="5" ? ? ? ? ? ? ? ? android:textSize="30dp" ? ? ? ? ? ? ? ? android:onClick="number_5"/> ? ? ? ? </LinearLayout> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? ? ? android:text="6" ? ? ? ? ? ? ? ? android:textSize="30dp" ? ? ? ? ? ? ? ? android:onClick="number_6"/> ? ? ? ? </LinearLayout> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? ? ? android:text="-" ? ? ? ? ? ? ? ? android:textSize="30dp" ? ? ? ? ? ? ? ? android:onClick="subtraction"/> ? ? ? ? </LinearLayout> ? ? </LinearLayout> ? ? <LinearLayout ? ? ? ? android:layout_width="match_parent" ? ? ? ? android:layout_height="0dp" ? ? ? ? android:layout_weight="1" ? ? ? ? android:orientation="horizontal"> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? ? ? android:text="1" ? ? ? ? ? ? ? ? android:textSize="30dp" ? ? ? ? ? ? ? ? android:onClick="number_1"/> ? ? ? ? </LinearLayout> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? ? ? android:text="2" ? ? ? ? ? ? ? ? android:textSize="30dp" ? ? ? ? ? ? ? ? android:onClick="number_2"/> ? ? ? ? </LinearLayout> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? ? ? android:text="3" ? ? ? ? ? ? ? ? android:textSize="30dp" ? ? ? ? ? ? ? ? android:onClick="number_3"/> ? ? ? ? </LinearLayout> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? ? ? android:text="+" ? ? ? ? ? ? ? ? android:textSize="30dp" ? ? ? ? ? ? ? ? android:onClick="addition"/> ? ? ? ? </LinearLayout> ? ? </LinearLayout> ? ? <LinearLayout ? ? ? ? android:layout_width="match_parent" ? ? ? ? android:layout_height="0dp" ? ? ? ? android:layout_weight="1" ? ? ? ? android:orientation="horizontal"> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? ? ? android:text="±" ? ? ? ? ? ? ? ? android:textSize="30dp" ? ? ? ? ? ? ? ? android:onClick="change"/> ? ? ? ? </LinearLayout> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? ? ? android:text="0" ? ? ? ? ? ? ? ? android:textSize="30dp" ? ? ? ? ? ? ? ? android:onClick="number_0"/> ? ? ? ? </LinearLayout> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? ? ? android:text="." ? ? ? ? ? ? ? ? android:textSize="30dp"/> ? ? ? ? </LinearLayout> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? android:layout_weight="1"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? ? ? android:layout_height="match_parent" ? ? ? ? ? ? ? ? android:text="=" ? ? ? ? ? ? ? ? android:textSize="30dp" ? ? ? ? ? ? ? ? android:onClick="equal"/> ? ? ? ? </LinearLayout> ? ? </LinearLayout> </LinearLayout>
Java文件
import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.TextView; import android.widget.Toast; import androidx.annotation.Nullable; public class MainActivity extends Activity { ? ? private TextView tv1; ? ? private TextView tv2; ? ? private StringBuilder viewStr; ? ? private int index = 0; ? ? @Override ? ? protected void onCreate(@Nullable Bundle savedInstanceState) { ? ? ? ? super.onCreate(savedInstanceState); ? ? ? ? setContentView(R.layout.main_calc); ? ? ? ? tv1 = (TextView) findViewById(R.id.mini); ? ? ? ? tv2 = (TextView) findViewById(R.id.max); ? ? ? ? viewStr = new StringBuilder(); ? ? ? ? index = 0; ? ? } ? ? //加減乘除、求余簡單運算方法 ? ? public String calc(StringBuilder strB) { ? ? ? ? String allS = strB.toString(); ? ? ? ? String[] asmd = {"+","-","×","÷","%"}; ? ? ? ? int x = 0; int y = 0; ? ? ? ? String result = null; ? ? ? ? for (int i = 0; i < 5; i ++) { ? ? ? ? ? ? int inde = strB.indexOf(asmd[i]); ? ? ? ? ? ? if (inde > 0) { ? ? ? ? ? ? ? ? String a = allS.split(asmd[i])[0]; ? ? ? ? ? ? ? ? String b = allS.split(asmd[i])[1]; ? ? ? ? ? ? ? ? if (i == 0) {result = String.valueOf(Integer.parseInt(a) + Integer.parseInt(b));} ? ? ? ? ? ? ? ? if (i == 1) {result = String.valueOf(Integer.parseInt(a) - Integer.parseInt(b));} ? ? ? ? ? ? ? ? if (i == 2) {result = String.valueOf(Integer.parseInt(a) * Integer.parseInt(b));} ? ? ? ? ? ? ? ? if (i == 3) { ? ? ? ? ? ? ? ? ? ? if (Integer.parseInt(b) == 0) { ? ? ? ? ? ? ? ? ? ? ? ? Toast.makeText(this,"0不能為除數(shù)",Toast.LENGTH_SHORT).show(); ? ? ? ? ? ? ? ? ? ? ? ? result = String.valueOf(Integer.parseInt(a)); ? ? ? ? ? ? ? ? ? ? }else { ? ? ? ? ? ? ? ? ? ? ? ? result = String.valueOf(Integer.parseInt(a) / Integer.parseInt(b)); ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? if (i == 4) {result = String.valueOf(Integer.parseInt(a) % Integer.parseInt(b));} ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? return result; ? ? } ? ? //數(shù)字按鈕事件 ? ? public void number_0(View view) { viewStr.append("0"); index ++ ; tv2.setText(viewStr); } ? ? public void number_1(View view) { viewStr.append("1"); index ++ ; tv2.setText(viewStr); } ? ? public void number_2(View view) { viewStr.append("2"); index ++ ; tv2.setText(viewStr); } ? ? public void number_3(View view) { viewStr.append("3"); index ++ ; tv2.setText(viewStr); } ? ? public void number_4(View view) { viewStr.append("4"); index ++ ; tv2.setText(viewStr); } ? ? public void number_5(View view) { viewStr.append("5"); index ++ ; tv2.setText(viewStr); } ? ? public void number_6(View view) { viewStr.append("6"); index ++ ; tv2.setText(viewStr); } ? ? public void number_7(View view) { viewStr.append("7"); index ++ ; tv2.setText(viewStr); } ? ? public void number_8(View view) { viewStr.append("8"); index ++ ; tv2.setText(viewStr); } ? ? public void number_9(View view) { viewStr.append("9"); index ++ ; tv2.setText(viewStr); } ? ? //回退按鈕事件 ? ? public void backsprce(View view) { ? ? ? ? if (viewStr.length() == 0) return; ? ? ? ? index = viewStr.length(); ? ? ? ? viewStr.deleteCharAt(--index); tv2.setText(viewStr); ? ? } ? ? //符號改變按鈕事件 ? ? public void change(View view) { ? ? ? ? String allS = viewStr.toString(); ? ? ? ? String[] asmd = {"+","-","×","÷","%"}; ? ? ? ? int inde = 0; ? ? ? ? String a = null; ? ?//保存字符串中運算符部分 ? ? ? ? String b = null; ? ?//保存字符串中數(shù)字部分 ? ? ? ? for (int i = 0; i < 5; i ++) { ? ? ? ? ? ? inde = viewStr.indexOf(asmd[i]); ? ? ? ? ? ? if (inde != -1) { ? ? ? ? ? ? ? ? a = asmd[i]; ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? //A 字符形 改變 A 正負(fù)值 ? ? ? ? if (inde == -1) { ? ? ? ? ? ? clearc(view); ? ? ? ? ? ? int c = - Integer.parseInt(allS); ? ? ? ? ? ? viewStr.append(String.valueOf(c)); ? ? ? ? ? ? index = String.valueOf(c).length(); ? ? ? ? ? ? tv2.setText(viewStr); ? ? ? ? } ? ? ? ? //A + 字符串形 改變 A 正負(fù)值 暫時無法實現(xiàn),待后續(xù)優(yōu)化 ? ? ? ? if (inde == index - 1) { ? ? ? ? ? ? return; // ? ? ? ? ? ?clearc(view); // ? ? ? ? ? ?int c = - Integer.valueOf(allS.split(a)[0]); // ? ? ? ? ? ?viewStr.append(String.valueOf(c)); // ? ? ? ? ? ?index = String.valueOf(c).length(); // ? ? ? ? ? ?tv2.setText(viewStr); ? ? ? ? } ? ? ? ? //A + B 字符串形 改變 B 正負(fù)值 ? ? ? ? if (inde >= 0 && inde < index) { ? ? ? ? ? ? clearc(view); ? ? ? ? ? ? b = allS.split(a)[0]; ? ? ? ? ? ? int c = - Integer.parseInt(allS.split(a)[1]); ? ? ? ? ? ? viewStr.append(b).append(a).append(String.valueOf(c)); ? ? ? ? ? ? index = String.valueOf(c).length(); ? ? ? ? ? ? tv2.setText(viewStr); ? ? ? ? } ? ? } ? ? //清空按鈕事件 ? ? public void clearc(View view) { ? ? ? ? StringBuilder temp = new StringBuilder(); ? ? ? ? viewStr = temp.append(""); ? ? ? ? tv2.setText(viewStr); ? ? ? ? index = 0; ? ? } ? ? public void clearce(View view) { ? ? ? ? StringBuilder temp = new StringBuilder(); ? ? ? ? viewStr = temp.append(""); ? ? ? ? tv1.setText(""); ? ? ? ? tv2.setText(viewStr); ? ? ? ? index = 0; ? ? } ? ? //等于按鈕事件 ? ? public void equal(View view) { ? ? ? ? String[] asmd = {"+","-","×","÷","%"}; ? ? ? ? StringBuilder temp = new StringBuilder(); ? ? ? ? for (int i = 0; i < 5; i ++) { ? ? ? ? ? ? int inde = viewStr.indexOf(asmd[i]); ? ? ? ? ? ? if (inde > 0 && inde != index-1) { ? ? ? ? ? ? ? ? tv1.setText(calc(viewStr)); ? ? ? ? ? ? ? ? String a = calc(viewStr); ? ? ? ? ? ? ? ? viewStr = temp.append(a); ? ? ? ? ? ? ? ? tv2.setText(viewStr); ? ? ? ? ? ? ? ? index = viewStr.length(); ? ? ? ? ? ? ? ? return; ? ? ? ? ? ? }else if (inde > 0 && inde == index-1) { ? ? ? ? ? ? ? ? viewStr.deleteCharAt(--index); ? ? ? ? ? ? ? ? tv1.setText(viewStr); ? ? ? ? ? ? ? ? tv2.setText(viewStr); ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? tv1.setText(viewStr); ? ? ? ? tv2.setText(viewStr); ? ? } ? ? //加減乘除按鈕事件 ? ? public void addition(View view) { ? ? ? ? if (viewStr.length() == 0) return; ? ? ? ? String[] asmd = {"+","-","×","÷","%"}; ? ? ? ? StringBuilder temp = new StringBuilder(); ? ? ? ? for (int i = 0; i < 5; i ++) { ? ? ? ? ? ? int inde = viewStr.indexOf(asmd[i]); ? ? ? ? ? ? if (inde > 0 && viewStr.charAt(index-1) >= '0' && viewStr.charAt(index-1) <= '9') { ? ? ? ? ? ? ? ? tv1.setText(calc(viewStr)); ? ? ? ? ? ? ? ? String a = calc(viewStr); ? ? ? ? ? ? ? ? viewStr = temp.append(a).append('+'); ? ? ? ? ? ? ? ? tv2.setText(viewStr); ? ? ? ? ? ? ? ? index = viewStr.length(); ? ? ? ? ? ? ? ? return; ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? char a = viewStr.charAt(index-1); ? ? ? ? if (a == '+') { return; } ? ? ? ? if (a == '-' || a == '×' || a == '÷' || a == '%') { ? ? ? ? ? ? viewStr.setCharAt(index-1,'+'); ? ? ? ? }else { ? ? ? ? ? ? viewStr.append("+"); ? ? ? ? ? ? index ++ ; ? ? ? ? } ? ? ? ? tv2.setText(viewStr); ? ? } ? ? public void subtraction(View view) { ? ? ? ? if (viewStr.length() == 0) return; ? ? ? ? String[] asmd = {"+","-","×","÷","%"}; ? ? ? ? StringBuilder temp = new StringBuilder(); ? ? ? ? for (int i = 0; i < 5; i ++) { ? ? ? ? ? ? int inde = viewStr.indexOf(asmd[i]); ? ? ? ? ? ? if (inde > 0 && viewStr.charAt(index-1) >= '0' && viewStr.charAt(index-1) <= '9') { ? ? ? ? ? ? ? ? tv1.setText(calc(viewStr)); ? ? ? ? ? ? ? ? String a = calc(viewStr); ? ? ? ? ? ? ? ? viewStr = temp.append(a).append('-'); ? ? ? ? ? ? ? ? tv2.setText(viewStr); ? ? ? ? ? ? ? ? index = viewStr.length(); ? ? ? ? ? ? ? ? return; ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? char a = viewStr.charAt(index-1); ? ? ? ? if (a == '-') { return; } ? ? ? ? if (a == '+' || a == '×' || a == '÷' || a == '%') { ? ? ? ? ? ? viewStr.setCharAt(index-1,'-'); ? ? ? ? }else { ? ? ? ? ? ? viewStr.append("-"); ? ? ? ? ? ? index ++ ; ? ? ? ? } ? ? ? ? tv2.setText(viewStr); ? ? } ? ? public void multiplication(View view) { ? ? ? ? if (viewStr.length() == 0) return; ? ? ? ? String[] asmd = {"+","-","×","÷","%"}; ? ? ? ? StringBuilder temp = new StringBuilder(); ? ? ? ? for (int i = 0; i < 5; i ++) { ? ? ? ? ? ? int inde = viewStr.indexOf(asmd[i]); ? ? ? ? ? ? if (inde > 0 && viewStr.charAt(index-1) >= '0' && viewStr.charAt(index-1) <= '9') { ? ? ? ? ? ? ? ? tv1.setText(calc(viewStr)); ? ? ? ? ? ? ? ? String a = calc(viewStr); ? ? ? ? ? ? ? ? viewStr = temp.append(a).append('×'); ? ? ? ? ? ? ? ? tv2.setText(viewStr); ? ? ? ? ? ? ? ? index = viewStr.length(); ? ? ? ? ? ? ? ? return; ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? char a = viewStr.charAt(index-1); ? ? ? ? if (a == '×') { return; } ? ? ? ? if (a == '+' || a == '-' || a == '÷' || a == '%') { ? ? ? ? ? ? viewStr.setCharAt(index-1,'×'); ? ? ? ? }else { ? ? ? ? ? ? viewStr.append("×"); ? ? ? ? ? ? index ++ ; ? ? ? ? } ? ? ? ? tv2.setText(viewStr); ? ? } ? ? public void division(View view) { ? ? ? ? if (viewStr.length() == 0) return; ? ? ? ? String[] asmd = {"+","-","×","÷","%"}; ? ? ? ? StringBuilder temp = new StringBuilder(); ? ? ? ? for (int i = 0; i < 5; i ++) { ? ? ? ? ? ? int inde = viewStr.indexOf(asmd[i]); ? ? ? ? ? ? if (inde > 0 && viewStr.charAt(index-1) >= '0' && viewStr.charAt(index-1) <= '9') { ? ? ? ? ? ? ? ? tv1.setText(calc(viewStr)); ? ? ? ? ? ? ? ? String a = calc(viewStr); ? ? ? ? ? ? ? ? viewStr = temp.append(a).append('÷'); ? ? ? ? ? ? ? ? tv2.setText(viewStr); ? ? ? ? ? ? ? ? index = viewStr.length(); ? ? ? ? ? ? ? ? return; ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? char a = viewStr.charAt(index-1); ? ? ? ? if (a == '÷') { return; } ? ? ? ? if (a == '+' || a == '-' || a == '×' || a == '%') { ? ? ? ? ? ? viewStr.setCharAt(index-1,'÷'); ? ? ? ? }else { ? ? ? ? ? ? viewStr.append("÷"); ? ? ? ? ? ? index ++ ; ? ? ? ? } ? ? ? ? tv2.setText(viewStr); ? ? } ? ? //求余按鈕事件 ? ? public void surplus(View view) { ? ? ? ? if (viewStr.length() == 0) return; ? ? ? ? String[] asmd = {"+","-","×","÷","%"}; ? ? ? ? StringBuilder temp = new StringBuilder(); ? ? ? ? for (int i = 0; i < 5; i ++) { ? ? ? ? ? ? int inde = viewStr.indexOf(asmd[i]); ? ? ? ? ? ? if (inde > 0 && viewStr.charAt(index-1) >= '0' && viewStr.charAt(index-1) <= '9') { ? ? ? ? ? ? ? ? tv1.setText(calc(viewStr)); ? ? ? ? ? ? ? ? String a = calc(viewStr); ? ? ? ? ? ? ? ? viewStr = temp.append(a).append('%'); ? ? ? ? ? ? ? ? tv2.setText(viewStr); ? ? ? ? ? ? ? ? index = viewStr.length(); ? ? ? ? ? ? ? ? return; ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? char a = viewStr.charAt(index-1); ? ? ? ? if (a == '%') { return; } ? ? ? ? if (a == '+' || a == '-' || a == '×' || a == '÷') { ? ? ? ? ? ? viewStr.setCharAt(index-1,'%'); ? ? ? ? }else { ? ? ? ? ? ? viewStr.append("%"); ? ? ? ? ? ? index ++ ; ? ? ? ? } ? ? ? ? tv2.setText(viewStr); ? ? } ? ? //求倒數(shù)按鈕事件 ? ? public void reciprocal(View view) { ? ? ? ? if (viewStr.length() == 0) return; ? ? ? ? String[] asmd = {"+","-","×","÷","%"}; ? ? ? ? for (int i = 0; i < 5; i ++) { ? ? ? ? ? ? int inde = viewStr.indexOf(asmd[i]); ? ? ? ? ? ? if (inde > -1) { return; } ? ? ? ? } ? ? ? ? int a = Integer.parseInt(viewStr.toString().trim()); ? ? ? ? if (a == 0) { ? ? ? ? ? ? Toast.makeText(this,"0不能為除數(shù)",Toast.LENGTH_SHORT).show(); ? ? ? ? ? ? return; ? ? ? ? } ? ? ? ? clearc(view); ? ? ? ? viewStr.append(1/a); ? ? ? ? index = String.valueOf(1/a).length(); ? ? ? ? tv2.setText(viewStr); ? ? } ? ? //平方按鈕事件 ? ? public void square(View view) { ? ? ? ? if (viewStr.length() == 0) return; ? ? ? ? String[] asmd = {"+","-","×","÷","%"}; ? ? ? ? for (int i = 0; i < 5; i ++) { ? ? ? ? ? ? int inde = viewStr.indexOf(asmd[i]); ? ? ? ? ? ? if (inde > -1) { return; } ? ? ? ? } ? ? ? ? int a = Integer.parseInt(viewStr.toString().trim()); ? ? ? ? clearc(view); ? ? ? ? viewStr.append(a*a); ? ? ? ? index = String.valueOf(a*a).length(); ? ? ? ? tv2.setText(viewStr); ? ? } ? ? //開平方按鈕事件 ? ? public void squareroot(View view) { ? ? ? ? if (viewStr.length() == 0) return; ? ? ? ? String[] asmd = {"+","-","×","÷","%"}; ? ? ? ? for (int i = 0; i < 5; i ++) { ? ? ? ? ? ? int inde = viewStr.indexOf(asmd[i]); ? ? ? ? ? ? if (inde > -1) { return; } ? ? ? ? } ? ? ? ? int a = Integer.parseInt(viewStr.toString().trim()); ? ? ? ? clearc(view); ? ? ? ? viewStr.append((int)Math.sqrt(a)); ? ? ? ? index = String.valueOf((int)Math.sqrt(a)).length(); ? ? ? ? tv2.setText(viewStr); ? ? } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android EditText 監(jiān)聽用戶輸入完成的實例
下面小編就為大家分享一篇Android EditText 監(jiān)聽用戶輸入完成的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02android開發(fā)教程之ubuntu使用adb連接小米2的步驟和adb調(diào)試方法
這篇文章主要介紹了ubuntu中使用adb連接小米2的步驟和adb調(diào)試方法,需要的朋友可以參考下2014-02-02如何使用Android實現(xiàn)接口實信息在留言板顯示
這篇文章主要介紹了如何使用Android接口實現(xiàn)信息的留言板顯示,需要的朋友可以參考下2015-07-07Android利用CountDownTimer實現(xiàn)點擊獲取驗證碼倒計時效果
這篇文章主要為大家詳細(xì)介紹了Android利用CountDownTimer實現(xiàn)點擊獲取驗證碼倒計時效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03Android 自動判斷是電話,網(wǎng)址,EMAIL方法之Linkify的使用
本篇文章小編為大家介紹,在Android中 自動判斷是電話,網(wǎng)址,EMAIL方法之Linkify的使用。需要的朋友參考下2013-04-04