android實現計算機功能

來源:互聯網
上載者:User

標籤:android   style   blog   http   java   os   

設計一個簡單的計算機。

第一個Activity的介面。

 

第二個Activity顯示算式和計算結果。

第一個Activity代碼:

import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity {Button one,two,three,four,five,six,seven,eight,nine,zero,div,mod,mul,fenshu,sub,equal,point,add;double num1,num2,num,xiaoshudian;int flag,ispoint;char operation[]=new char[2];protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);num1=0;num2=0;num=0;flag=0;ispoint=0;xiaoshudian=0.1;one=(Button)findViewById(R.id.one);two=(Button)findViewById(R.id.two);three=(Button)findViewById(R.id.three);four=(Button)findViewById(R.id.four);five=(Button)findViewById(R.id.five);six=(Button)findViewById(R.id.six);seven=(Button)findViewById(R.id.seven);eight=(Button)findViewById(R.id.eight);nine=(Button)findViewById(R.id.nine);zero=(Button)findViewById(R.id.zero);div=(Button)findViewById(R.id.div);mod=(Button)findViewById(R.id.mod);mul=(Button)findViewById(R.id.mul);fenshu=(Button)findViewById(R.id.fenshu);sub=(Button)findViewById(R.id.sub);add=(Button)findViewById(R.id.add);equal=(Button)findViewById(R.id.equal);point=(Button)findViewById(R.id.point);one.setOnClickListener(new OnClickListener() {public void onClick(View arg0) {if(flag==0){if(ispoint==0)num1=num1*10+1;else {num1=num1+1*xiaoshudian;xiaoshudian/=10;}}else{if(ispoint==0)num2=num2*10+1;else{num2=num2+1*xiaoshudian;xiaoshudian/=10;}}}});two.setOnClickListener(new OnClickListener() {public void onClick(View arg0) {if(flag==0){if(ispoint==0)num1=num1*10+2;else {num1=num1+2*xiaoshudian;xiaoshudian/=10;}}else{if(ispoint==0)num2=num2*10+2;else{num2=num2+2*xiaoshudian;xiaoshudian/=10;}}}});three.setOnClickListener(new OnClickListener() {public void onClick(View arg0) {if(flag==0){if(ispoint==0)num1=num1*10+3;else {num1=num1+3*xiaoshudian;xiaoshudian/=10;}}else{if(ispoint==0)num2=num2*10+3;else{num2=num2+3*xiaoshudian;xiaoshudian/=10;}}}});four.setOnClickListener(new OnClickListener() {public void onClick(View arg0) {if(flag==0){if(ispoint==0)num1=num1*10+4;else {num1=num1+4*xiaoshudian;xiaoshudian/=10;}}else{if(ispoint==0)num2=num2*10+4;else{num2=num2+4*xiaoshudian;xiaoshudian/=10;}}}});five.setOnClickListener(new OnClickListener() {public void onClick(View arg0) {if(flag==0){if(ispoint==0)num1=num1*10+5;else {num1=num1+5*xiaoshudian;xiaoshudian/=10;}}else{if(ispoint==0)num2=num2*10+5;else{num2=num2+5*xiaoshudian;xiaoshudian/=10;}}}});six.setOnClickListener(new OnClickListener() {public void onClick(View arg0) {if(flag==0){if(ispoint==0)num1=num1*10+6;else {num1=num1+6*xiaoshudian;xiaoshudian/=10;}}else{if(ispoint==0)num2=num2*10+6;else{num2=num2+6*xiaoshudian;xiaoshudian/=10;}}}});seven.setOnClickListener(new OnClickListener() {public void onClick(View arg0) {if(flag==0){if(ispoint==0)num1=num1*10+7;else {num1=num1+7*xiaoshudian;xiaoshudian/=10;}}else{if(ispoint==0)num2=num2*10+7;else{num2=num2+7*xiaoshudian;xiaoshudian/=10;}}}});eight.setOnClickListener(new OnClickListener() {public void onClick(View arg0) {if(flag==0){if(ispoint==0)num1=num1*10+8;else {num1=num1+8*xiaoshudian;xiaoshudian/=10;}}else{if(ispoint==0)num2=num2*10+8;else{num2=num2+8*xiaoshudian;xiaoshudian/=10;}}}});nine.setOnClickListener(new OnClickListener() {public void onClick(View arg0) {if(flag==0){if(ispoint==0)num1=num1*10+9;else {num1=num1+9*xiaoshudian;xiaoshudian/=10;}}else{if(ispoint==0)num2=num2*10+9;else{num2=num2+9*xiaoshudian;xiaoshudian/=10;}}}});zero.setOnClickListener(new OnClickListener() {public void onClick(View arg0) {if(flag==0){if(ispoint==0)num1=num1*10;else {xiaoshudian/=10;}}else{if(ispoint==0)num2=num2*10;else{xiaoshudian/=10;}}}});point.setOnClickListener(new OnClickListener() {public void onClick(View arg0) {ispoint=1;}});add.setOnClickListener(new OnClickListener() {public void onClick(View arg0) {flag=1;ispoint=0;}});sub.setOnClickListener(new OnClickListener() {public void onClick(View arg0) {flag=2;ispoint=0;}});mul.setOnClickListener(new OnClickListener() {public void onClick(View arg0) {flag=3;ispoint=0;}});div.setOnClickListener(new OnClickListener() {public void onClick(View arg0) {flag=4;ispoint=0;}});equal.setOnClickListener(new OnClickListener() {public void onClick(View arg0) {if(flag==1){num=num1+num2;operation[0]=‘+‘;}else if(flag==2){num=num1-num2;operation[0]=‘-‘;}else if(flag==3){num=num1*num2;operation[0]=‘*‘;}else if(flag==4){num=num1/num2;operation[0]=‘/‘;}Intent intent=new Intent(MainActivity.this,SecondActivity.class);intent.putExtra("num1", new Double(num1).toString());intent.putExtra("opreation",new String(operation).toString());intent.putExtra("num2", new Double(num2).toString());intent.putExtra("num", new Double(num).toString());startActivity(intent);}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.main, menu);return true;}}

第二個Activity代碼:

import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class SecondActivity extends Activity{EditText text;Button myButton;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.second);text=(EditText)findViewById(R.id.edt);myButton=(Button)findViewById(R.id.btn);Intent intent=getIntent();String num1=intent.getStringExtra("num1");String operation=intent.getStringExtra("opreation");String num2=intent.getStringExtra("num2");String num=intent.getStringExtra("num");text.setText(num1+operation+num2+"="+num);myButton.setOnClickListener(new myButtonListener());}class myButtonListener implements OnClickListener{public void onClick(View arg0){Intent intent=new Intent(SecondActivity.this,MainActivity.class);startActivity(intent);}}}

第一個Activity布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context=".MainActivity" ><Button    android:id="@+id/seven"    android:layout_width="40px"        android:layout_height="wrap_content"        android:text="7"    /><Button    android:id="@+id/eight"    android:layout_toRightOf="@id/seven"    android:layout_width="40px"        android:layout_height="wrap_content"        android:text="8"    /><Button    android:id="@+id/nine"    android:layout_toRightOf="@id/eight"    android:layout_width="40px"        android:layout_height="wrap_content"        android:text="9"    /><Button    android:id="@+id/div"    android:layout_toRightOf="@id/nine"    android:layout_width="40px"        android:layout_height="wrap_content"        android:text="/"    /><Button    android:id="@+id/mod"    android:layout_toRightOf="@id/div"    android:layout_width="40px"        android:layout_height="wrap_content"        android:text="%"    /><Button    android:id="@+id/four"    android:layout_below="@id/seven"    android:layout_width="40px"        android:layout_height="wrap_content"        android:text="4"    /><Button    android:id="@+id/five"    android:layout_toRightOf="@id/four"    android:layout_below="@id/eight"    android:layout_width="40px"        android:layout_height="wrap_content"        android:text="5"    /><Button    android:id="@+id/six"    android:layout_toRightOf="@id/five"    android:layout_below="@id/nine"    android:layout_width="40px"        android:layout_height="wrap_content"        android:text="6"    /><Button    android:id="@+id/mul"    android:layout_toRightOf="@id/six"    android:layout_below="@id/div"    android:layout_width="40px"        android:layout_height="wrap_content"        android:text="*"    /><Button    android:id="@+id/fenshu"    android:layout_toRightOf="@id/mul"    android:layout_below="@id/mod"    android:layout_width="40px"        android:layout_height="wrap_content"        android:text="1/x"    /><Button    android:id="@+id/one"    android:layout_below="@id/four"    android:layout_width="40px"        android:layout_height="wrap_content"        android:text="1"    /><Button    android:id="@+id/two"    android:layout_toRightOf="@id/one"    android:layout_below="@id/five"    android:layout_width="40px"        android:layout_height="wrap_content"        android:text="2"    /><Button    android:id="@+id/three"    android:layout_toRightOf="@id/two"    android:layout_below="@id/six"    android:layout_width="40px"        android:layout_height="wrap_content"        android:text="3"    /><Button    android:id="@+id/sub"    android:layout_toRightOf="@id/three"    android:layout_below="@id/mul"    android:layout_width="40px"        android:layout_height="wrap_content"        android:text="-"    /><Button    android:id="@+id/equal"    android:layout_toRightOf="@id/sub"    android:layout_below="@id/fenshu"    android:layout_width="40px"        android:layout_height="70px"        android:text="="    /><Button    android:id="@+id/zero"    android:layout_below="@id/one"    android:layout_width="80px"        android:layout_height="wrap_content"        android:text="0"    /><Button    android:id="@+id/point"    android:layout_toRightOf="@id/zero"    android:layout_below="@id/three"    android:layout_width="40px"        android:layout_height="wrap_content"        android:text="."    /><Button    android:id="@+id/add"    android:layout_toRightOf="@id/point"    android:layout_below="@id/sub"    android:layout_width="40px"        android:layout_height="wrap_content"        android:text="+"    /></RelativeLayout>

第二個Activity布局:

<?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" >    <EditText     android:id="@+id/edt"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_below="@id/one"     />  <Button     android:id="@+id/btn"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_below="@id/edt"     android:text="返回"     />  </LinearLayout>


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.