成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

android studio實現簡單的計算器功能

瀏覽:210日期:2022-09-24 09:18:09

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

先來個效果圖:

android studio實現簡單的計算器功能

功能: 滿足加減乘除四則運算規則,有回退、清除功能。

下面的代碼只是完成基本功能,若添加背景圖先看看下面的方法:Android Studio App設置背景圖片

1、本地準備好圖片,復制它,粘貼進mipmap(drawable)文件夾。

android studio實現簡單的計算器功能

2、在activity_main.xml里添加下面代碼,注意添加位置。

android studio實現簡單的計算器功能

3、完成,效果圖:

android studio實現簡單的計算器功能

content_main.xml文件(頁面布局,content_main.xml代碼包含在activity_main.xml文件中):

<?xml version='1.0' encoding='utf-8'?><android.support.constraint.ConstraintLayout xmlns:android='http://schemas.android.com/apk/res/android' xmlns:app='http://schemas.android.com/apk/res-auto' xmlns:tools='http://schemas.android.com/tools' android: android:layout_width='match_parent' android:layout_height='match_parent' app:layout_behavior='@string/appbar_scrolling_view_behavior' tools:context='.MainActivity' tools:showIn='@layout/activity_main'> <!--<TextView--> <!--android:layout_width='wrap_content'--> <!--android:layout_height='wrap_content'--> <!--android:text='Hello World!'--> <!--app:layout_constraintBottom_toBottomOf='parent'--> <!--app:layout_constraintLeft_toLeftOf='parent'--> <!--app:layout_constraintRight_toRightOf='parent'--> <!--app:layout_constraintTop_toTopOf='parent' />--> <LinearLayout android:layout_width='fill_parent' android:layout_height='match_parent' android:orientation='vertical' > <EditText android: android:layout_width='match_parent' android:layout_height='wrap_content' android:layout_gravity='center' android:editable='false' android:hint='@string/shuru' /> <EditText android: android:layout_width='match_parent' android:layout_height='70dp' android:layout_gravity='center' android:editable='true' android:gravity='right' android:hint='@string/shuchu' /> <RelativeLayout android:layout_width='350dp' android:layout_height='wrap_content' android:layout_gravity='center'> <Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_alignParentLeft='true' android:text='@string/clear' android:textSize='40sp' /> <Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_toRightOf='@id/clear' android:text='@string/back' android:textSize='40sp' /> <Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_toRightOf='@id/back' android:text='@string/divide' android:textSize='40sp' /> <Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_toRightOf='@id/divide' android:text='@string/multiply' android:textSize='40sp' /> <Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_alignParentLeft='true' android:layout_below='@id/clear' android:text='@string/seven' android:textSize='40sp' /> <Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_toRightOf='@id/seven' android:layout_below='@id/divide' android:text='@string/eight' android:textSize='40sp' /> <Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_below='@id/multiply' android:layout_toRightOf='@id/eight' android:text='@string/nine' android:textSize='40sp' /> <Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_alignParentRight='true' android:layout_below='@id/multiply' android:layout_toRightOf='@id/nine' android:text='@string/subtract' android:textSize='40sp' /> <Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_alignParentLeft='true' android:layout_below='@id/seven' android:text='@string/four' android:textSize='40sp' /> <Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_below='@id/eight' android:layout_toRightOf='@id/four' android:text='@string/five' android:textSize='40sp' /> <Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_below='@id/nine' android:layout_toRightOf='@id/five' android:text='@string/six' android:textSize='40sp' /> <Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_alignParentRight='true' android:layout_below='@id/subtract' android:layout_toRightOf='@id/six' android:text='@string/add' android:textSize='40sp' /> <Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_alignParentLeft='true' android:layout_below='@id/four' android:text='@string/one' android:textSize='40sp' /> <Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_below='@id/five' android:layout_toRightOf='@id/one' android:text='@string/two' android:textSize='40sp' /> <Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_below='@id/six' android:layout_toRightOf='@id/two' android:text='@string/three' android:textSize='40sp' /> <Button android: android:layout_width='wrap_content' android:layout_height='146dp' android:layout_alignParentRight='true' android:layout_below='@id/add' android:layout_toRightOf='@id/three' android:text='@string/result' android:textSize='40sp' /> <Button android: android:layout_width='175dp' android:layout_height='wrap_content' android:layout_alignParentLeft='true' android:layout_below='@id/one' android:text='@string/zero' android:textSize='40sp' /> <Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_below='@id/three' android:layout_toRightOf='@id/zero' android:text='@string/dot' android:textSize='40sp' /> </RelativeLayout> </LinearLayout></android.support.constraint.ConstraintLayout>

strings.xml(content_main.xml代碼中的一些變量在此代碼中定義的):

<resources> <string name='app_name'>Calculator</string> <string name='action_settings'>Settings</string> <string name='title_activity_page2'>page2</string> <string name='next'>下一頁</string> <string name='zero'>0</string> <string name='one'>1</string> <string name='two'>2</string> <string name='three'>3</string> <string name='four'>4</string> <string name='five'>5</string> <string name='six'>6</string> <string name='seven'>7</string> <string name='eight'>8</string> <string name='nine'>9</string> <string name='add'>+</string> <string name='subtract'>-</string> <string name='multiply'>*</string> <string name='divide'>/</string> <string name='clear'>CE</string> <string name='back'>&#60;-</string> <string name='result'>=</string> <string name='shuru'>請輸入:</string> <string name='shuchu'>結果:</string> <string name='dot'>.</string> <string name='resultText'>計算式</string></resources>

MainActivity.Java(計算器中實現計算功能的核心代碼):

package com.example.dell.calculator;import android.content.Intent;import android.os.Bundle;import android.support.design.widget.FloatingActionButton;import android.support.design.widget.Snackbar;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.Toolbar;import android.view.View;import android.view.Menu;import android.view.MenuItem;import android.app.Activity;import android.content.Context;import android.view.View.OnClickListener;import android.widget.CheckBox;import android.widget.EditText;import android.widget.Button;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.text.DecimalFormat;import java.text.NumberFormat;import java.util.regex.Matcher;import java.util.regex.Pattern;public class MainActivity extends AppCompatActivity { private EditText output = null; private EditText input = null; private Button btn0 = null; private Button btn1 = null; private Button btn2 = null; private Button btn3 = null; private Button btn4 = null; private Button btn5 = null; private Button btn6 = null; private Button btn7 = null; private Button btn8 = null; private Button btn9 = null; private Button btnadd = null; private Button btnsubtract = null; private Button btnmultiply = null; private Button btndivide = null; private Button btnclear = null; private Button btnback = null; private Button btndot = null; private Button btnresult = null; private String text = '';//保存輸入的數字和符號 private Double result = 0.0;//輸出結果 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); output = (EditText) findViewById(R.id.output); input = (EditText) findViewById(R.id.input); btn0 = (Button) findViewById(R.id.zero); btn1 = (Button) findViewById(R.id.one); btn2 = (Button) findViewById(R.id.two); btn3 = (Button) findViewById(R.id.three); btn4 = (Button) findViewById(R.id.four); btn5 = (Button) findViewById(R.id.five); btn6 = (Button) findViewById(R.id.six); btn7 = (Button) findViewById(R.id.seven); btn8 = (Button) findViewById(R.id.eight); btn9 = (Button) findViewById(R.id.nine); btnadd = (Button) findViewById(R.id.add); btnsubtract = (Button) findViewById(R.id.subtract); btnmultiply = (Button) findViewById(R.id.multiply); btndivide = (Button) findViewById(R.id.divide); btnclear = (Button) findViewById(R.id.clear); btnback = (Button) findViewById(R.id.back); btndot = (Button) findViewById(R.id.dot); btnresult = (Button) findViewById(R.id.result); //設置按鈕偵聽事件 btn0.setOnClickListener(listener); btn1.setOnClickListener(listener); btn2.setOnClickListener(listener); btn3.setOnClickListener(listener); btn4.setOnClickListener(listener); btn5.setOnClickListener(listener); btn6.setOnClickListener(listener); btn7.setOnClickListener(listener); btn8.setOnClickListener(listener); btn9.setOnClickListener(listener); btnadd.setOnClickListener(listener); btnsubtract.setOnClickListener(listener); btnmultiply.setOnClickListener(listener); btndivide.setOnClickListener(listener); btnclear.setOnClickListener(listener); btnback.setOnClickListener(listener); btndot.setOnClickListener(listener); btnresult.setOnClickListener(listener); FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, 'Replace with your own action', Snackbar.LENGTH_LONG) .setAction('Action', null).show(); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } //public void onClickNext(View view) { // Intent intent = new Intent(this,page2.class); // startActivity(intent); // } private OnClickListener listener = new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { //輸入數字 case R.id.zero: num(0); break; case R.id.one: num(1); break; case R.id.two: num(2); break; case R.id.three: num(3); break; case R.id.four: num(4); break; case R.id.five: num(5); break; case R.id.six: num(6); break; case R.id.seven: num(7); break; case R.id.eight: num(8); break; case R.id.nine: num(9); break; case R.id.dot: dot(); break; //執行運算 case R.id.add: add(); break; case R.id.subtract: sub(); break; case R.id.multiply: multiply(); break; case R.id.divide: divide(); break; case R.id.clear: clear(); break; case R.id.back: back(); break; //計算結果 case R.id.result: result(); break; default: break; } input.setText(text); output.setText(String.valueOf(result)); } }; private void num(int i) { // TODO Auto-generated method stub text = text + String.valueOf(i); } private void dot() { // TODO Auto-generated method stub text = text + '.'; } private void clear() { // TODO Auto-generated method stub text = ''; result = null; input.setText(''); output.setText(''); } private void back() { // TODO Auto-generated method stub String str = text.substring(0, text.length()-1); text = str; } private void add() { // TODO Auto-generated method stub text += '+'; } private void sub() { // TODO Auto-generated method stub text += '-'; } private void multiply() { // TODO Auto-generated method stub text += '*'; } private void divide() { // TODO Auto-generated method stub text += '/'; } //計算輸出結果 private void result() { // TODO Auto-generated method stub 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; }}

更多計算器功能實現,請點擊專題: 計算器功能匯總 進行學習

關于Android計算器功能的實現,查看專題:Android計算器 進行學習。

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

標簽: Android
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲一区二区三区四区五区午夜| 久久精品成人一区二区三区蜜臀| 亚洲一区二区三区影院| 国产一区二区在线影院| 国产精品欧美日韩一区| 欧美不卡在线视频| 免费成人在线影院| 宅男噜噜噜66国产日韩在线观看| 一区视频在线| 日韩欧美专区在线| 亚洲欧美日韩中文字幕一区二区三区| 最新日韩av在线| 懂色av一区二区在线播放| 国产精品日韩久久久| 国产精品国产三级国产专播品爱网| 亚洲欧洲中文日韩久久av乱码| 一本高清dvd不卡在线观看| 日韩欧美亚洲另类制服综合在线 | 国产精品91一区二区| 久久看片网站| 亚洲欧美一区二区久久| 午夜精品视频| 国产视频911| 欧美区国产区| 欧美日韩国产综合久久 | 色丁香久综合在线久综合在线观看| 欧美三级电影精品| 午夜精品爽啪视频| 久久av一区| 一区二区三区在线观看国产 | 欧美专区18| 国产精品久久久久一区二区三区共| 亚洲午夜日本在线观看| 一本综合精品| 午夜视频一区二区三区| 一本到高清视频免费精品| 一级特黄大欧美久久久| 国产亚洲欧美一区二区三区| 亚洲综合清纯丝袜自拍| 亚洲欧美清纯在线制服| 亚洲电影欧美电影有声小说| 色噜噜狠狠成人中文综合 | 国产精品亚洲视频| 欧美色国产精品| 成人永久aaa| 精品美女一区二区三区| 欧美永久精品| 亚洲色图欧洲色图| 国产精品人人爽人人做我的可爱| 欧美刺激午夜性久久久久久久| 亚洲精品成人天堂一二三| 99久久综合狠狠综合久久| 国产精品私房写真福利视频| 国产欧美丝祙| 秋霞电影网一区二区| 久久看片网站| 精品一区二区三区在线观看国产 | 亚洲精品国产精品乱码不99 | 一本不卡影院| 日本强好片久久久久久aaa| 91精品国产一区二区三区蜜臀 | 久久久久久日产精品| 欧美视频一区| 亚洲一区二三区| 欧美精品久久99久久在免费线 | av在线这里只有精品| 国产精品久久久一本精品| 美日韩在线观看| 盗摄精品av一区二区三区| 亚洲欧美激情插| 日韩天堂在线观看| 国产美女诱惑一区二区| 国产在线精品一区二区不卡了| 亚洲成色精品| 免费观看久久久4p| 国产欧美日韩在线| 欧美色综合影院| 亚洲午夜极品| 国产精品香蕉一区二区三区| 1000部国产精品成人观看| 欧美在线短视频| 欧美精品首页| 国产综合成人久久大片91| 亚洲欧美经典视频| 日韩一区二区视频| 国产精品日韩高清| 成人av手机在线观看| 一区二区三区四区蜜桃| 亚洲精品在线免费观看视频| 亚洲一区免费看| 99国产精品久久久久久久久久| 久久综合色天天久久综合图片| 国产成人亚洲精品狼色在线| 亚洲精品欧美综合四区| 久久婷婷国产综合精品青草| 欧美亚日韩国产aⅴ精品中极品| 日韩不卡一二三区| 国产精品欧美一区二区三区| 91精品国产乱| 欧美亚洲国产一区在线观看网站| 首页国产欧美久久| 国产精品二三区| 91精品国产综合久久久久久久久久 | 中文字幕一区二区三区视频| 欧美性色aⅴ视频一区日韩精品| 亚洲色图都市小说| 国产亚洲欧美激情| 欧美一区永久视频免费观看| 免费日韩av片| 亚洲日本免费| 国户精品久久久久久久久久久不卡| 一区二区三区国产精品| 中文字幕 久热精品 视频在线| 亚洲国产精品毛片| 91亚洲男人天堂| 成人性生交大片免费看在线播放 | 国产精品国产三级国产aⅴ原创 | 欧美久久久久久久久久| 亚洲欧美国产不卡| 亚洲一区二区三区精品在线观看| 美女高潮久久久| 性感美女久久精品| 亚洲福利视频导航| 亚洲国产精品一区二区www在线| 欧美伦理电影网| 欧美午夜精品久久久久久超碰| 99国产精品国产精品久久| 国产一区二区视频在线播放| 日韩成人av影视| 婷婷综合久久一区二区三区| 亚洲成a人片综合在线| 亚洲网友自拍偷拍| 日韩国产高清在线| 国产精品色婷婷| 综合av第一页| 亚洲高清中文字幕| 久久爱www久久做| 国产在线不卡一卡二卡三卡四卡| 一区二区三区在线播放| 日韩美女视频19| 亚洲亚洲人成综合网络| 一区二区三区中文免费| 亚洲午夜在线视频| 老汉av免费一区二区三区| 国产伦精品一区二区三区免费| 一片黄亚洲嫩模| 亚洲乱码中文字幕| 亚洲成av人片在www色猫咪| 日韩精品一卡二卡三卡四卡无卡| 国产日韩精品一区| 国产欧美日韩在线视频| 玖玖在线精品| 日韩三级在线免费观看| 精品国产欧美一区二区| 亚洲欧美日韩中文字幕一区二区三区| 欧美变态tickle挠乳网站| 久久你懂得1024| 亚洲影院免费观看| 国产精品 欧美精品| 91麻豆视频网站| 午夜亚洲激情| 精品日韩欧美在线| 亚洲一区二区三区国产| 捆绑变态av一区二区三区| 99久久久无码国产精品| 国产亚洲激情| 日韩欧美一二区| 亚洲一二三四在线| 福利一区二区在线| 在线高清一区| 88在线观看91蜜桃国自产| 国产精品麻豆一区二区| 欧美午夜电影网| 国产精品电影一区二区三区| 免费成人小视频| 午夜精品免费| 欧美日韩免费观看一区三区| 国产精品传媒在线| 激情久久五月天| 伊人精品在线| 精品久久一区二区三区| 亚洲va欧美va人人爽| 欧美激情自拍| 欧美片网站yy| 午夜欧美电影在线观看| 国产精品国码视频| 日韩一卡二卡三卡四卡| 亚洲va国产va欧美va观看| 欧美成人tv| 精品视频1区2区3区| 一区二区视频免费在线观看| 国产91精品久久久久久久网曝门| 成人免费视频视频| 国产精品久久九九| 久久日韩精品一区二区五区| 美女一区二区视频| 国产精品亚洲综合| 国产精品毛片无遮挡高清| www..com久久爱| 在线不卡一区二区|