android studio实现简单的计算器小功能
作者:字睿洁
这篇文章主要为大家详细介绍了android studio实现简单的计算器小功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了android studio实现简单计算器的具体代码,供大家参考,具体内容如下
布局:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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:orientation="vertical" android:background="@color/white" tools:context="com.example.jisuanqi.MainActivity"> <TextView android:id="@+id/screenshow" android:layout_width="match_parent" android:layout_height="200dp" android:background="@android:color/white" android:textColor="@color/black" android:textSize="50sp"/> //各按键 <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center"> <Button android:layout_width="160dp" android:layout_height="80dp" android:text="÷" android:textSize="45sp" android:id="@+id/divide" /> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="×" android:textSize="45sp" android:id="@+id/times" /> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="C" android:textSize="40sp" android:id="@+id/button_C" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center"> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="7" android:textSize="40sp" android:id="@+id/button_7" /> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="8" android:textSize="40sp" android:id="@+id/button_8" /> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="9" android:textSize="40sp" android:id="@+id/button_9" /> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="+" android:textSize="40sp" android:id="@+id/button_add" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center"> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="4" android:textSize="40sp" android:id="@+id/button_4" /> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="5" android:textSize="40sp" android:id="@+id/button_5" /> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="6" android:textSize="40sp" android:id="@+id/button_6" /> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="-" android:textSize="50sp" android:id="@+id/button_minus" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center"> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="1" android:textSize="40sp" android:id="@+id/button_1" /> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="2" android:textSize="40sp" android:id="@+id/button_2" /> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="3" android:textSize="40sp" android:id="@+id/button_3" /> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="." android:textSize="45sp" android:id="@+id/button_dot" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center"> <Button android:layout_width="160dp" android:layout_height="80dp" android:text="0" android:textSize="40sp" android:id="@+id/button_0" /> <Button android:layout_width="160dp" android:layout_height="80dp" android:text="=" android:textSize="45sp" android:id="@+id/button_equal" /> </LinearLayout> </LinearLayout> </LinearLayout>
java代码:
package com.example.jisuanqi; import android.support.v4.app.INotificationSideChannel; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.app.Activity; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity { private TextView windowshow; private Button but_0,but_1,but_2,but_3,but_4,but_5,but_6,but_7,but_8,but_9,but_C,divide, multiply,but_add,but_minus,but_dot,but_equal; double first_num=0,second_num=0; double result=0; int operation=0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); windowshow=(TextView)findViewById(R.id.screenshow); but_0=(Button)findViewById(R.id.button_0); but_0.setOnClickListener(new MyOnClickListener()); but_1=(Button)findViewById(R.id.button_1); but_1.setOnClickListener(new MyOnClickListener()); but_2=(Button)findViewById(R.id.button_2); but_2.setOnClickListener(new MyOnClickListener()); but_3=(Button)findViewById(R.id.button_3); but_3.setOnClickListener(new MyOnClickListener()); but_4=(Button)findViewById(R.id.button_4); but_4.setOnClickListener(new MyOnClickListener()); but_5=(Button)findViewById(R.id.button_5); but_5.setOnClickListener(new MyOnClickListener()); but_6=(Button)findViewById(R.id.button_6); but_6.setOnClickListener(new MyOnClickListener()); but_7=(Button)findViewById(R.id.button_7); but_7.setOnClickListener(new MyOnClickListener()); but_8=(Button)findViewById(R.id.button_8); but_8.setOnClickListener(new MyOnClickListener()); but_9=(Button)findViewById(R.id.button_9); but_9.setOnClickListener(new MyOnClickListener()); but_add=(Button)findViewById(R.id.button_add); but_add.setOnClickListener(new MyOnClickListener()); but_C=(Button)findViewById(R.id.button_C); but_C.setOnClickListener(new MyOnClickListener()); divide=(Button)findViewById(R.id.divide); divide.setOnClickListener(new MyOnClickListener()); but_dot=(Button)findViewById(R.id.button_dot); but_dot.setOnClickListener(new MyOnClickListener()); but_equal=(Button)findViewById(R.id.button_equal); but_equal.setOnClickListener(new MyOnClickListener()); but_minus=(Button)findViewById(R.id.button_minus); but_minus.setOnClickListener(new MyOnClickListener()); multiply=(Button)findViewById(R.id.times); multiply.setOnClickListener(new MyOnClickListener()); } class MyOnClickListener implements View.OnClickListener{ public void onClick(View v){ switch (v.getId()){ case R.id.button_C: windowshow.setText(null); break; case R.id.button_0: String str0=windowshow.getText().toString(); str0+="0"; windowshow.setText(str0); break; case R.id.button_1: String str1=windowshow.getText().toString(); str1+="1"; windowshow.setText(str1); break; case R.id.button_2: String str2=windowshow.getText().toString(); str2+="2"; windowshow.setText(str2); break; case R.id.button_3: String str3=windowshow.getText().toString(); str3+="3"; windowshow.setText(str3); break; case R.id.button_4: String str4=windowshow.getText().toString(); str4+="4"; windowshow.setText(str4); break; case R.id.button_5: String str5=windowshow.getText().toString(); str5+="5"; windowshow.setText(str5); break; case R.id.button_6: String str6=windowshow.getText().toString(); str6+="6"; windowshow.setText(str6); break; case R.id.button_7: String str7=windowshow.getText().toString(); str7+="7"; windowshow.setText(str7); break; case R.id.button_8: String str8=windowshow.getText().toString(); str8+="8"; windowshow.setText(str8); break; case R.id.button_9: String str9=windowshow.getText().toString(); str9+="9"; windowshow.setText(str9); break; case R.id.button_dot: String strdot=windowshow.getText().toString(); strdot+="."; windowshow.setText(strdot); break; case R.id.button_add: String stradd=windowshow.getText().toString(); if(stradd.equals(null)){ return; } first_num=Double.valueOf(stradd); stradd+="+"; windowshow.setText(null); operation=1; break; case R.id.button_minus: String strminus=windowshow.getText().toString(); if(strminus.equals(null)){ return; } first_num=Double.valueOf(strminus); strminus+="-"; windowshow.setText(null); operation=2; break; case R.id.times: String strmultiply=windowshow.getText().toString(); if(strmultiply.equals(null)){ return; } first_num=Double.valueOf(strmultiply); strmultiply+="*"; windowshow.setText(null); operation=3; break; case R.id.divide: String strdivide=windowshow.getText().toString(); if(strdivide.equals(null)){ return; } first_num=Double.valueOf(strdivide); strdivide+="/"; windowshow.setText(null); operation=4; break; case R.id.button_equal: String strequ=windowshow.getText().toString(); second_num=Double.valueOf(strequ); // windowshow.setText(null); switch (operation){ case 1: result=first_num+second_num; windowshow.setText(String.valueOf(first_num)+"+"+String.valueOf(second_num)+"="+String.valueOf(result)); break; case 2: result=first_num-second_num; windowshow.setText(String.valueOf(first_num)+"-"+String.valueOf(second_num)+"="+String.valueOf(result)); break; case 3: result=first_num*second_num; windowshow.setText(String.valueOf(first_num)+"×"+String.valueOf(second_num)+"="+String.valueOf(result)); break; case 4: if(second_num==0){ windowshow.setText("被除数不能为0!"); } else { result = first_num / second_num; windowshow.setText(String.valueOf(first_num) + "÷" + String.valueOf(second_num) + "=" + String.valueOf(result)); } break; case 5: result=first_num/100; windowshow.setText(String.valueOf(first_num) + "%" +"="+String.valueOf(result)); break; default: result=0; break; } } } } }
效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。