日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

android studio實現簡單的計算器(無bug)

瀏覽:188日期:2022-09-22 17:17:26

本文實例為大家分享了android studio實現簡單計算器的具體代碼,供大家參考,具體內容如下

1.效果圖

android studio實現簡單的計算器(無bug)

2布局代碼

<?xml version='1.0' encoding='utf-8'?><LinearLayout xmlns:android='http://schemas.android.com/apk/res/android' android:layout_width='match_parent' android:layout_height='match_parent' android:orientation='vertical' android:background='@drawable/jsj1'> <TextView android:layout_width='match_parent' android:layout_height='wrap_content' android:text='計算器' android:textSize='20dp' android:gravity='center' android:textColor='#EE4000'/> <TextView android:layout_width='match_parent' android:layout_height='wrap_content' android:text='輸入數字'/> <EditText android: android:layout_width='match_parent' android:layout_height='wrap_content'/> <TextView android:layout_width='match_parent' android:layout_height='wrap_content' android:text='運算結果'/> <EditText android: android:layout_width='match_parent' android:layout_height='wrap_content'/> <LinearLayout android:layout_width='match_parent' android:layout_height='wrap_content' android:orientation='horizontal'> <Button android:layout_marginLeft='5dp' android: android:layout_width='88dp' android:layout_height='100dp' android:text='C' android:textSize='20dp' android:padding='5dp' android:background='@drawable/qqqqqqqqqq'/> <Button android: android:layout_width='88dp' android:layout_height='100dp' android:text='÷' android:textSize='20dp' android:padding='5dp' android:background='@drawable/qqqqqqqqqq'/> <Button android: android:layout_width='88dp' android:layout_height='100dp' android:text='×' android:textSize='20dp' android:padding='5dp' android:background='@drawable/qqqqqqqqqq'/> <Button android: android:layout_width='88dp' android:layout_height='100dp' android:text='Cx' android:textSize='20dp' android:padding='5dp' android:background='@drawable/qqqqqqqqqq'/> </LinearLayout> <LinearLayout android:layout_width='match_parent' android:layout_height='wrap_content' android:orientation='horizontal'> <Button android:layout_marginLeft='5dp' android: android:layout_width='88dp' android:layout_height='100dp' android:text='7' android:textSize='20dp' android:padding='5dp' android:background='@drawable/sssssssssssssss'/> <Button android: android:layout_width='88dp' android:layout_height='100dp' android:text='8' android:textSize='20dp' android:padding='5dp' android:background='@drawable/sssssssssssssss'/> <Button android: android:layout_width='88dp' android:layout_height='100dp' android:text='9' android:textSize='20dp' android:padding='5dp' android:background='@drawable/sssssssssssssss'/> <Button android: android:layout_width='88dp' android:layout_height='100dp' android:text='-' android:textSize='20dp' android:padding='5dp' android:background='@drawable/qqqqqqqqqq'/> </LinearLayout> <LinearLayout android:layout_width='match_parent' android:layout_height='wrap_content' android:orientation='horizontal'> <Button android:layout_marginLeft='5dp' android: android:layout_width='88dp' android:layout_height='100dp' android:text='4' android:textSize='20dp' android:padding='5dp' android:background='@drawable/sssssssssssssss'/> <Button android: android:layout_width='88dp' android:layout_height='100dp' android:text='5' android:textSize='20dp' android:padding='5dp' android:background='@drawable/sssssssssssssss'/> <Button android: android:layout_width='88dp' android:layout_height='100dp' android:text='6' android:textSize='20dp' android:padding='5dp' android:background='@drawable/sssssssssssssss'/> <Button android: android:layout_width='88dp' android:layout_height='100dp' android:text='+' android:textSize='20dp' android:padding='5dp' android:background='@drawable/qqqqqqqqqq'/> </LinearLayout> <LinearLayout android:layout_width='match_parent' android:layout_height='wrap_content' android:orientation='horizontal'> <Button android:layout_marginLeft='5dp' android: android:layout_width='88dp' android:layout_height='100dp' android:text='1' android:textSize='20dp' android:padding='5dp' android:background='@drawable/sssssssssssssss'/> <Button android: android:layout_width='88dp' android:layout_height='100dp' android:text='2' android:textSize='20dp' android:padding='5dp' android:background='@drawable/sssssssssssssss'/> <Button android: android:layout_width='88dp' android:layout_height='100dp' android:text='3' android:textSize='20dp' android:padding='5dp' android:background='@drawable/sssssssssssssss'/> <Button android: android:layout_width='88dp' android:layout_height='100dp' android:text='.' android:textSize='20dp' android:padding='5dp' android:background='@drawable/qqqqqqqqqq'/> </LinearLayout> <LinearLayout android:layout_width='match_parent' android:layout_height='wrap_content' android:orientation='horizontal'> <Button android:layout_marginLeft='5dp' android: android:layout_width='88dp' android:layout_height='100dp' android:text='0' android:textSize='20dp' android:padding='5dp' android:background='@drawable/sssssssssssssss'/> <Button android: android:layout_width='265dp' android:layout_height='100dp' android:text='=' android:textSize='20dp' android:padding='5dp' android:background='#6495ED'/> </LinearLayout></LinearLayout>

3.邏輯代碼

package com.example.myzhuoye;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import androidx.annotation.Nullable;import androidx.appcompat.app.AppCompatActivity;public class JiSuanJi extends AppCompatActivity implements View.OnClickListener { //結果 private EditText ET001,ET002; //數字0-9 private Button btn0018, btn0013,btn0014,btn0015,btn009,btn0010,btn0011,btn005,btn006,btn007; //運算符,+,-,×,÷,.,=;清除,返回 private Button btn0012,btn008,btn003,btn002,btn0019,btn0016,btn001,btn004; private String text = '';//保存輸入的數字和符號 private Double result = 0.0;//輸出結果 @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout4); //結果 ET001=(EditText)findViewById(R.id.ET001); ET002=(EditText)findViewById(R.id.ET002); //數字0-9 btn0013=(Button)findViewById(R.id.btn0013); btn0014=(Button)findViewById(R.id.btn0014); btn0015=(Button)findViewById(R.id.btn0015); btn009=(Button)findViewById(R.id.btn009); btn0010=(Button)findViewById(R.id.btn0010); btn0011=(Button)findViewById(R.id.btn0011); btn005=(Button)findViewById(R.id.btn005); btn006=(Button)findViewById(R.id.btn006); btn007=(Button)findViewById(R.id.btn007); btn0018=(Button)findViewById(R.id.btn0018); //運算符 btn004=(Button)findViewById(R.id.btn004); btn0012=(Button)findViewById(R.id.btn0012); btn008=(Button)findViewById(R.id.btn008); btn003=(Button)findViewById(R.id.btn003); btn002=(Button)findViewById(R.id.btn002); btn0019=(Button)findViewById(R.id.btn0019); btn0016=(Button)findViewById(R.id.btn0016); btn001=(Button)findViewById(R.id.btn001); //添加點擊事件 btn0013.setOnClickListener((View.OnClickListener) this); btn0014.setOnClickListener((View.OnClickListener) this); btn0015.setOnClickListener((View.OnClickListener) this); btn009.setOnClickListener((View.OnClickListener) this); btn0010.setOnClickListener((View.OnClickListener) this); btn0011.setOnClickListener((View.OnClickListener) this); btn005.setOnClickListener((View.OnClickListener) this); btn006.setOnClickListener((View.OnClickListener) this); btn007.setOnClickListener((View.OnClickListener) this); btn0018.setOnClickListener((View.OnClickListener) this); btn0012.setOnClickListener((View.OnClickListener) this); btn008.setOnClickListener((View.OnClickListener) this); btn003.setOnClickListener((View.OnClickListener) this); btn002.setOnClickListener((View.OnClickListener) this); btn0019.setOnClickListener((View.OnClickListener) this); btn0016.setOnClickListener((View.OnClickListener) this); btn001.setOnClickListener((View.OnClickListener) this); btn004.setOnClickListener((View.OnClickListener) this); } @Override public void onClick(View v) { String string=ET001.getText().toString(); switch (v.getId()){ case R.id.btn0018://0 num(0); break; case R.id.btn0013://1 num(1); break; case R.id.btn0014://2 num(2); break; case R.id.btn0015://3 num(3); break; case R.id.btn009://4 num(4); break; case R.id.btn0010://5 num(5); break; case R.id.btn0011://6 num(6); break; case R.id.btn005://7 num(7); break; case R.id.btn006://8 num(8); break; case R.id.btn007://9 num(9); break; case R.id.btn0019://. dot(); break; case R.id.btn0012://+ add(); break; case R.id.btn008://- sub(); break; case R.id.btn003://'*' multiply(); break; case R.id.btn002://除 divide(); break; case R.id.btn001://清除 clear(); break; case R.id.btn004://返回 back(); break; //計算結果 case R.id.btn0016://結果 result(); break; default: break; } ET001.setText(text); ET002.setText(String.valueOf(result)); } private void num(int i) { text = text + String.valueOf(i); } private void dot() { int a=text.length(); String s01='+'; String s02='-'; String s03='×'; String s04='÷'; String s05='.'; if (a!=0) { String s=text.substring(a-1,a); String s0=text.substring(0,a-1); if (s01.equals(s) || s02.equals(s) || s03.equals(s) || s04.equals(s) || s05.equals(s)) { text = s0+'.'; }else { text += '.'; } } else { text = ''; result =0.0; ET001.setText(''); ET002.setText(''); } } private void clear() { text = ''; result =0.0; ET001.setText(''); ET002.setText(''); } private void back() { if (text.length()!=0){ String str = text.substring(0, text.length()-1); text = str; } ; } private void add() { int a=text.length(); String s01='+'; String s02='-'; String s03='×'; String s04='÷'; String s05='.'; if (a!=0) { String s=text.substring(a-1,a); String s0=text.substring(0,a-1); if (s01.equals(s) || s02.equals(s) || s03.equals(s) || s04.equals(s) || s05.equals(s)) { text = s0+'+'; }else { text += '+'; } } else { text = ''; result =0.0; ET001.setText(''); ET002.setText(''); } } private void sub() { int a=text.length(); String s01='+'; String s02='-'; String s03='×'; String s04='÷'; String s05='.'; if (a!=0) { String s=text.substring(a-1,a); String s0=text.substring(0,a-1); if (s01.equals(s) || s02.equals(s) || s03.equals(s) || s04.equals(s) || s05.equals(s)) { text = s0+'-'; }else { text += '-'; } } else { text = ''; result =0.0; ET001.setText(''); ET002.setText(''); } } private void multiply() { int a=text.length(); String s01='+'; String s02='-'; String s03='×'; String s04='÷'; String s05='.'; if (a!=0) { String s=text.substring(a-1,a); String s0=text.substring(0,a-1); if (s01.equals(s) || s02.equals(s) || s03.equals(s) || s04.equals(s) || s05.equals(s)) { text = s0+'×'; }else { text += '×'; } } else { text = ''; result =0.0; ET001.setText(''); ET002.setText(''); } } private void divide() { int a=text.length(); String s01='+'; String s02='-'; String s03='×'; String s04='÷'; String s05='.'; if (a!=0) { String s=text.substring(a-1,a); String s0=text.substring(0,a-1); if (s01.equals(s) || s02.equals(s) || s03.equals(s) || s04.equals(s) || s05.equals(s)) { text = s0+'÷'; }else { text += '÷'; } } else { text = ''; result =0.0; ET001.setText(''); ET002.setText(''); } } //計算輸出結果 private void result() { result = testOperation(text); } public Double testOperation(String s){ //分割字符然后放進數組 String s1 =s.replace('+','-'); String[] str = s1.split('-'); double total1=0; //先遍歷數組,把里面的乘除結果算出來 for(String str1:str){ if(str1.contains('×')||str1.contains('÷')){ double total = 0; for(int i =0;i<str1.length();){ int count =1; a:for(int j =i+1;j<str1.length();j++){ char c =str1.charAt(j); if(c==’×’||c==’÷’){ break a; }else{ count++; } } //將數字截取出來 String s2 =str1.substring(i,i+count); double d = Double.parseDouble(s2); if(i==0){ total = d; }else{ char c1 = str1.charAt(i-1); if(c1==’×’){ total*=d; }else if(c1==’÷’){ //如果除數為0,直接返回null; if(d == 0) return null; total/=d; } } i+=count+1; } s= s.replace(str1, total+''); } } //進行加減運算 for(int i =0;i<s.length();i++){ int count =1; a:for(int j=i+1;j<s.length();j++){ char c = s.charAt(j); if(c==’+’||c==’-’){ break a; }else{ count++; } } String s3= s.substring(i,i+count); double d2 = Double.parseDouble(s3); if(i==0){ total1 = d2; }else{ char c = s.charAt(i-1); if(c==’+’){ total1+=d2; }else if(c==’-’){ total1-=d2; } } i+=count; } return total1; }}

4.XML文件

<?xml version='1.0' encoding='utf-8'?><shape xmlns:android='http://schemas.android.com/apk/res/android'> <gradient android:startColor='#c0000000' android:endColor='#c0000000' android:angle='90' /><!--背景顏色漸變 angle為漸變角度--> <solid android:color=' #8DEEEE' /><!-- 背景填充顏色 --> <stroke android: android:color='#ff000000' /><!-- 描邊,邊框寬度、顏色 --> <corners android:radius='0dp' /><!-- 邊角圓弧的半徑 --> <padding android:left='0dp' android:top='0dp' android:right='0dp' android:bottom='0dp' /><!-- 四周留出來的空白 --></shape>

<?xml version='1.0' encoding='utf-8'?><shape xmlns:android='http://schemas.android.com/apk/res/android'><gradient android:startColor='#c0000000' android:endColor='#c0000000' android:angle='90' /><!--背景顏色漸變 angle為漸變角度--><solid android:color='#00FFFF' /><!-- 背景填充顏色 --><stroke android: android:color='#ff000000' /><!-- 描邊,邊框寬度、顏色 --><corners android:radius='0dp' /><!-- 邊角圓弧的半徑 --><padding android:left='0dp' android:top='0dp' android:right='0dp' android:bottom='0dp' /><!-- 四周留出來的空白 --></shape>

關于計算器的精彩文章請查看《計算器專題》 ,更多精彩等你來發現!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Android
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
精品91福利视频| 国产麻豆综合| 久久性天堂网| 91久久久久| 在线亚洲观看| 91一区二区三区四区| 久久一区亚洲| 精品日韩一区| 婷婷综合六月| 欧美在线资源| 中文字幕中文字幕精品| 日本亚洲视频在线| 国产精品久久久久久模特| 麻豆国产欧美一区二区三区| 精品国产黄a∨片高清在线| 国产欧洲在线| 伊人久久亚洲热| 免费人成在线不卡| 国产免费播放一区二区| 精品国产网站| 国产va在线视频| 99国产精品私拍| 日韩精品一级| a国产在线视频| 亚洲欧美日韩专区| 91精品国产自产观看在线 | 久久精品一区二区国产| 国产一区二区亚洲| 午夜一级久久| 91欧美国产| 亚洲2区在线| 国产在线观看www| 国产视频一区免费看| 国产日韩欧美中文在线| 欧美日韩精品在线一区| 久久激情av| 国产精品97| 麻豆一区二区99久久久久| 国产精品专区免费| 欧美日韩国产亚洲一区| 欧美日韩在线播放视频| 国产精品毛片视频| 亚洲久草在线| 国产中文欧美日韩在线| 久久精品99久久无色码中文字幕| 一本一道久久a久久精品蜜桃| 国产精品久久久免费| 日韩中文欧美| 国产日韩欧美高清免费| 国产亚洲一区在线| 国产欧洲在线| 国产一区精品福利| 国产精品一区二区99| 午夜久久福利| 欧美一区二区三区高清视频 | 欧美三区四区| 欧美激情视频一区二区三区免费| 免费人成在线不卡| 国产精品7m凸凹视频分类| 久久久男人天堂| 丁香婷婷久久| 国产日韩欧美一区在线| 日韩成人精品一区二区三区| 免费日韩av片| 免费在线观看精品| 亚洲深夜av| 亚洲一卡久久| 一本综合精品| 欧美日本三区| 国产精品v日韩精品v欧美精品网站| 日韩高清电影一区| 日韩不卡手机在线v区| 欧美日韩1区2区3区| 欧美一区激情| 精品国产美女a久久9999| 中文在线资源| 日韩一区二区中文| 999精品在线| 美女网站久久| 91亚洲无吗| 久久久久九九精品影院| 久久中文字幕一区二区三区| 国产精品蜜芽在线观看| 久久精品国产亚洲夜色av网站| 美女亚洲一区| 日本aⅴ亚洲精品中文乱码| 久久精品国产久精国产爱| 亚洲不卡av不卡一区二区| 久久麻豆精品| 69精品国产久热在线观看| 欧美久久天堂| 蜜桃久久久久久| 国产精品久久久久久久久久妞妞 | 免费中文字幕日韩欧美| 天堂久久av| 日产精品一区| 久久国内精品视频| av资源亚洲| 天堂俺去俺来也www久久婷婷| 国内精品麻豆美女在线播放视频| 欧美日韩国产亚洲一区| 久久精品理论片| av亚洲在线观看| 久久久久伊人| 亚洲一级大片| 婷婷综合网站| 日韩欧美精品综合| 国产欧美自拍| 免费日韩av片| 久久国产欧美| 国内一区二区三区| 亚洲人www| 欧美日韩国产探花| 香蕉成人av| 开心激情综合| 欧美日韩一区二区国产| 日韩精品一卡二卡三卡四卡无卡| 久久一区精品| 欧美激情91| 国产亚洲一卡2卡3卡4卡新区| 免费日韩av片| 午夜在线视频观看日韩17c| 久久婷婷久久| 欧美成人基地| 色88888久久久久久影院| 韩日一区二区| 国产在线观看91一区二区三区 | 精品视频97| 精品国产一区二| 国产欧美69| 欧美三级第一页| 国产日韩精品视频一区二区三区| 日韩精品a在线观看91| 久久爱www成人| 精品国产美女a久久9999| 欧美1区二区| 福利一区二区三区视频在线观看| 久久精品国产亚洲一区二区三区| 久久一区亚洲| 中文字幕在线免费观看视频| 在线看片国产福利你懂的| 国产99久久| 中文字幕日韩亚洲| 国产欧美综合一区二区三区| 国产精品一区亚洲| 精品国产aⅴ| 免费观看久久av| 日本在线不卡视频一二三区| 日本成人在线不卡视频| 久久久久伊人| 久久精品国产99久久| 丝袜美腿亚洲色图| 国产乱码精品| 91精品国产成人观看| 亚洲午夜免费| 色爱综合网欧美| 激情91久久| 欧美国产免费| 久久中文字幕av| 欧美日韩国产高清| 日韩av三区| 国产+成+人+亚洲欧洲在线| 国内精品福利| 天堂俺去俺来也www久久婷婷| 你懂的国产精品永久在线| 欧美 日韩 国产精品免费观看| 日韩二区三区在线观看| 精品丝袜在线| 69堂精品视频在线播放| 欧美二三四区| 欧美国产中文高清| 国产精品人人爽人人做我的可爱| 久久伊人国产| 色综合视频一区二区三区日韩| 日本在线视频一区二区| 四季av一区二区凹凸精品| 国产视频亚洲| 91一区二区三区四区| 日韩欧美中文字幕在线视频| 香蕉人人精品| 免费亚洲一区| 日韩va欧美va亚洲va久久| 日韩欧美精品| 国产精品va视频| 日本a级不卡| 视频在线观看一区| 亚洲成av人片一区二区密柚| 国产一区二区三区黄网站| 国产精品毛片aⅴ一区二区三区| 亚洲一区二区三区高清| 国产专区精品| 麻豆91在线播放| 国产日韩欧美一区在线| 日韩二区三区在线观看| 亚洲啊v在线免费视频| 在线国产日韩| 综合一区在线| 午夜天堂精品久久久久| 亚洲精品护士| 国产亚洲欧美日韩精品一区二区三区|