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

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

Android實現簡易的計算器

瀏覽:209日期:2022-09-22 09:05:02

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

布局(activity_main.xml)

<GridLayout xmlns:android='http://schemas.android.com/apk/res/android' xmlns:tools='http://schemas.android.com/tools' android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:columnCount='4' android:orientation='horizontal' android:rowCount='6' > <EditText android: android:layout_columnSpan='4' android:layout_gravity='fill' android:layout_marginLeft='5dp' android:layout_marginRight='5dp' android:text='0' android:textSize='50sp' /> <Button android: android:layout_columnSpan='1' android:layout_gravity='fill' android:text='清空' android:textColor='#FF4500' /> <Button android: android:layout_columnSpan='1' android:layout_gravity='fill' android:text='回退' android:textColor='#FF4500' /> <Button android: android:text='%' android:textColor='#FF4500' /> <Button android: android:text='÷' android:textColor='#FF4500' /> <Button android: android:text='7' /> <Button android: android:text='8' /> <Button android: android:text='9' /> <Button android: android:text='×' android:textColor='#FF4500' /> <Button android: android:text='4' /> <Button android: android:text='5' /> <Button android: android:text='6' /> <Button android: android:text='-' android:textColor='#FF4500' /> <Button android: android:text='1' /> <Button android: android:text='2' /> <Button android: android:text='3' /> <Button android: android:layout_width='wrap_content' android:text='+' android:textColor='#FF4500' /> <Button android: android:text='00' /> <Button android: android:text='0' /> <Button android: android:text='.' /> <Button android: android:text='=' android:background='#008B8B' /></GridLayout>

響應及計算(MainActivity)

package com.mylayout;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;public class MainActivity extends AppCompatActivity implements View.OnClickListener { private EditText editText; //數字0-9 private Button b1; private Button b2; private Button b3; private Button b4; private Button b5; private Button b6; private Button b7; private Button b8; private Button b9; private Button b0; private Button b00; //運算符 private Button per; private Button add;// + private Button sub; // - private Button mul; // * private Button div; // / private Button dot; //小數點 private Button equ; // = private boolean back; //退格 private boolean clear_bool= true;//清空 private boolean dot_flag1 = true; private boolean dot_flag2 = true; @Override public void onClick(View view) { String input = editText.getText().toString(); switch (view.getId()){ case R.id.b0: case R.id.b1: case R.id.b2: case R.id.b3: case R.id.b4: case R.id.b5: case R.id.b6: case R.id.b7: case R.id.b8: case R.id.b9: case R.id.b00: if(dot_flag1)dot_flag2 = true; if(clear_bool) { clear_bool = false; editText.setText(''+((Button)view).getText()); } else { editText.setText(input + ((Button)view).getText());//結果集就為本身 } break; case R.id.dot: if(dot_flag1&&dot_flag2) { dot_flag1 = false; dot_flag2 = false; editText.setText(input + ((Button)view).getText()); } break; case R.id.per: case R.id.plus: case R.id.sub: case R.id.mul: case R.id.div: dot_flag1 = true; if(clear_bool) { clear_bool = false; input = ''; editText.setText(''); } editText.setText(input + ((Button)view).getText()+' '); break; case R.id.back: //退格 if(input != null || !input.equals('')) { if(input.length()>1) { editText.setText(input.substring(0, input.length() - 1));// } else{ clear_bool =true; editText.setText('0'); } } break; case R.id.clear: //清空 editText.setText('0'); clear_bool = true; break; case R.id.equ: calculation(); break; } } //計算結果 private void calculation() { String s1 = editText.getText().toString(); //獲取字符串 if (s1 == null){ return; } boolean flag = false; if(s1.charAt(0)==’-’) { s1 = s1.substring(1); flag = true; } String []num = s1.split('[-÷×+]'); //分割字符串獲得各個數字 double []n = new double[num.length]; for(int i=0;i<num.length;i++) //字符串轉數字 { if(num[i].equals(''))continue; //百分號 else if(num[i].contains('%')) n[i] = Double.parseDouble(num[i].replace('%',''))/100; //開根 // else if(num[i].contains('√')) n[i] = Math.sqrt(Double.parseDouble(num[i].replace('√', ''))); else n[i] = Double.parseDouble(num[i]); } if(flag) n[0] -= n[0]*2; //負數情況 char[] sy = s1.replaceAll('[^-÷×+]','').toCharArray(); //獲得運算符 int slen = sy.length; if(sy.length == num.length)slen--; char c = ’+’; double result = n[0] ;//結果 if(n.length>1) { for (int j = 0; j < slen; j++) //先算乘除 { if (sy[j] == ’×’) { n[j + 1] = n[j] * n[j + 1]; n[j] = 0; if (c == ’+’) sy[j] = ’+’; //判斷乘除的前一個運算符是什么 else sy[j] = ’-’; } else if (sy[j] == ’÷’) { if (n[j + 1] != 0) n[j + 1] = n[j] / n[j + 1]; else n[j + 1] = 0; n[j] = 0; if (c == ’+’) sy[j] = ’+’; else sy[j] = ’-’; } else c = sy[j]; } result = n[0]; for (int j = 0; j < slen; j++) { //求和 if (sy[j] == ’+’) result += n[j + 1]; if (sy[j] == ’-’) result -= n[j + 1]; } } if((int)result == result )editText.setText((int)result+''); //顯示 else { //控制輸出小數點后6位 result = Double.parseDouble(String.format('%.6f', result)); editText.setText(result+''); } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //獲取id View b1 = findViewById(R.id.b1); View b2 = findViewById(R.id.b2); View b3= findViewById(R.id.b3); View b4 = findViewById(R.id.b4); View b5 = findViewById(R.id.b5); View b6 = findViewById(R.id.b6); View b7 = findViewById(R.id.b7); View b8 = findViewById(R.id.b8); View b9 = findViewById(R.id.b9); View b0 = findViewById(R.id.b0); View b00 = findViewById(R.id.b00); //運算符 View plus = findViewById(R.id.plus);// + View sub = findViewById(R.id.sub);// - View mul = findViewById(R.id.mul);// * View per = findViewById(R.id.per); // % View div = findViewById(R.id.div); // / View dot = findViewById(R.id.dot);//小數點 View equ = findViewById(R.id.equ);//= View clear = findViewById(R.id.clear);//清空 View back = findViewById(R.id.back); //回退 editText = (EditText) findViewById(R.id.editText);//結果集 //添加監聽事件 b0.setOnClickListener(this); b1.setOnClickListener(this); b2.setOnClickListener(this); b3.setOnClickListener(this); b4.setOnClickListener(this); b5.setOnClickListener(this); b6.setOnClickListener(this); b7.setOnClickListener(this); b8.setOnClickListener(this); b9.setOnClickListener(this); b00.setOnClickListener(this); per.setOnClickListener(this); plus.setOnClickListener(this); sub.setOnClickListener(this); mul.setOnClickListener(this); div.setOnClickListener(this); dot.setOnClickListener(this); equ.setOnClickListener(this); clear.setOnClickListener(this); back.setOnClickListener(this); }}

測試

Android實現簡易的計算器

Android實現簡易的計算器

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

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

標簽: Android
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩在线播放一区二区| 亚洲色图网站| 日本成人在线视频网站| 亚洲国产成人精品女人| 国产一区2区| 老色鬼精品视频在线观看播放| 日韩一区二区三区精品| 久久午夜影院| 日本成人中文字幕| 精品91久久久久| 久久人人99| 91精品福利| 一区二区高清| 久久精品超碰| 国内一区二区三区| 欧洲在线一区| 99国产精品99久久久久久粉嫩| 婷婷丁香综合| 亚洲精品乱码久久久久久蜜桃麻豆| 久久99高清| 色偷偷偷在线视频播放| 不卡中文一二三区| 美女久久一区| 亚洲不卡系列| a国产在线视频| 99国产精品| 国产调教一区二区三区| 国产精品久久久久久久免费观看 | 99香蕉国产精品偷在线观看 | 中文无码日韩欧| 亚洲精品无播放器在线播放| 久久精品97| 久久精品高清| 日韩三区四区| 日韩一区二区三区免费| 亚洲青青久久| 美女视频黄免费的久久| 国产精品毛片在线| 精品久久一区| 亚洲精一区二区三区| 精品无人区麻豆乱码久久久| 国产亚洲永久域名| 精品国产午夜肉伦伦影院 | 国产精品蜜芽在线观看| 亚洲精品第一| 黄色亚洲免费| 久久中文亚洲字幕| 国产精品久久久久av电视剧| 亚洲一区二区三区中文字幕在线观看| 国产麻豆精品| 亚洲一区二区三区无吗| 亚洲v在线看| 国产精品不卡| 福利一区和二区| 久久精品国产成人一区二区三区| 亚洲资源网站| 亚洲精品一级| 久久99伊人| 蜜桃国内精品久久久久软件9| 美女av一区| 国产精品99在线观看| 美女久久99| 久久婷婷国产| 麻豆国产精品一区二区三区| 97成人在线| 日韩国产在线不卡视频| 亚洲久久在线| 麻豆国产欧美一区二区三区| 亚洲一区二区免费在线观看| 久久亚洲图片| 亚洲精品日本| 欧美黑人巨大videos精品| 欧美黑人巨大videos精品| 国产精品分类| 久久久久久网| 亚洲成人精选| 亚洲精品麻豆| 国产精品午夜av| 国产欧美日韩精品一区二区免费| 综合激情视频| 国产欧美在线观看免费| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 在线亚洲观看| 欧美1区免费| 久久九九精品| 玖玖玖国产精品| 国产精品大片免费观看| 欧美亚洲三级| 在线观看精品| 亚洲久久在线| 日韩在线高清| 日韩精品免费视频人成| 国产一区二区三区免费在线| 另类av一区二区| 国产午夜精品一区在线观看| 成人羞羞视频播放网站| 午夜亚洲福利| 成人日韩在线观看| 欧美亚洲专区| 午夜久久黄色| 国产在线看片免费视频在线观看| 国产亚洲欧洲| 欧美精品二区| 首页欧美精品中文字幕| 三上亚洲一区二区| 亚洲久草在线| 蜜桃视频第一区免费观看| 高清久久一区| 国产精品蜜芽在线观看| 亚洲精品影视| 99riav国产精品| 成人免费电影网址| 精品一区二区三区视频在线播放| 亚洲欧美成人综合| 日韩欧美视频专区| 国产一卡不卡| 日韩 欧美一区二区三区| 日本中文字幕一区二区视频| 久久久久网站| 高清精品久久| 美女精品一区二区| 久久国产日韩欧美精品| 美女精品在线| 99视频+国产日韩欧美| 偷拍精品精品一区二区三区| 另类小说一区二区三区| 日韩精品一区二区三区中文| 亚洲一区成人| av一区在线| 国产精品成久久久久| 久久精品一本| 亚洲伊人av| 首页国产精品| 中文在线免费视频| 亚洲欧洲高清| 粉嫩av一区二区三区四区五区| 国产极品久久久久久久久波多结野| 日韩欧乱色一区二区三区在线| 日韩不卡一区二区三区| 国产情侣久久| 国产精区一区二区| 欧美激情视频一区二区三区免费| 91精品国产自产精品男人的天堂| 日韩福利视频导航| 97久久超碰| 日韩不卡一区| 黄色欧美日韩| 亚洲精品自拍| 成人一区不卡| 亚洲一区二区三区高清| 久久国产乱子精品免费女| 不卡一二三区| 1024精品久久久久久久久| 在线观看一区| 精品免费在线| 香蕉成人久久| 久久这里只有| 影音先锋国产精品| 老司机精品视频在线播放| 激情婷婷综合| 日韩在线观看不卡| 亚洲1区在线| 麻豆国产一区| 亚洲在线电影| 日本美女一区| 亚洲一区二区三区在线免费| 美腿丝袜亚洲一区| 日韩午夜av| 精品国产精品久久一区免费式| 9国产精品视频| 97精品国产一区二区三区| 在线视频亚洲欧美中文| 成人精品天堂一区二区三区| 欧美日韩一区二区国产| 激情欧美一区二区三区| 国产一区调教| 好吊视频一区二区三区四区| 综合一区av| 日本少妇一区| 国产乱码精品一区二区三区亚洲人| 激情五月综合| 亚洲国产专区| 欧美日韩视频网站| 欧美综合社区国产| 蜜桃91丨九色丨蝌蚪91桃色| 国产综合视频| 亚洲国产专区校园欧美| 蜜桃视频在线网站| 深夜日韩欧美| 国产91精品对白在线播放| 不卡专区在线| 老司机免费视频一区二区| 在线视频亚洲欧美中文| 妖精视频成人观看www| 最新国产拍偷乱拍精品| 欧美在线资源| 亚洲香蕉网站| 99视频在线精品国自产拍免费观看| 久久精品国产99久久| 免费av一区|