简易计算器

来源:互联网 发布:python 气泡图 编辑:程序博客网 时间:2024/05/16 10:00

简易计算器制作代码如下:

Activity_main.xml:

<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:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    android:orientation="vertical"    tools:context=".MainActivity" >        <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content">         <EditText            android:id="@+id/etnum1"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_weight="1"            android:ems="5"            android:inputType="numberDecimal" >            <requestFocus />        </EditText>        <TextView        android:id="@+id/fuhao"        android:layout_width="wrap_content"        android:layout_height="wrap_content"          android:layout_weight="1"        android:text="" />        <EditText            android:id="@+id/etnum2"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_weight="1"            android:ems="5"            android:inputType="numberDecimal" >            <requestFocus />        </EditText>        <TextView        android:id="@+id/dengyu"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text=" = " />         <EditText            android:id="@+id/jieguo"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_weight="1"            android:ems="5"            android:inputType="numberDecimal" >            <requestFocus />        </EditText>    </LinearLayout>    <LinearLayout         android:layout_width="match_parent"        android:layout_height="wrap_content">        <Button            android:id="@+id/jia"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_weight="1"            android:onClick="jia"            android:text=" + " />        <Button            android:id="@+id/jian"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_weight="1"            android:onClick="jian"            android:text=" - " />        <Button            android:id="@+id/cheng"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_weight="1"            android:onClick="cheng"            android:text=" * " />        <Button            android:id="@+id/chu"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_weight="1"            android:onClick="chu"            android:text=" / " />    </LinearLayout></LinearLayout>

MainActivity.java

package mengda.ui_1;import mengda.ui_1_1.YunSuan;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.widget.EditText;import android.widget.TextView;public class MainActivity extends Activity {private EditText etnum1;private EditText etnum2;private TextView fuhao;private TextView jieguo;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);yunsuan();}private void yunsuan() {etnum1=(EditText) this.findViewById(R.id.etnum1);etnum2=(EditText) this.findViewById(R.id.etnum2);jieguo=(TextView) this.findViewById(R.id.jieguo);fuhao=(TextView) this.findViewById(R.id.fuhao);// TODO Auto-generated method stub}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}public void jia(View v){String Num1=etnum1.getText().toString();String Num2=etnum2.getText().toString();double num1=Double.parseDouble(Num1);double num2=Double.parseDouble(Num2);fuhao.setText(" + ");jieguo.setText(""+YunSuan.jia(num1, num2));}public void jian(View v){    String Num1=etnum1.getText().toString();    String Num2=etnum2.getText().toString();    double num1=Double.parseDouble(Num1);    double num2=Double.parseDouble(Num2);    fuhao.setText(" - ");    jieguo.setText(""+YunSuan.jian(num1, num2));}public void cheng(View v){ String Num1=etnum1.getText().toString();String Num2=etnum2.getText().toString();double num1=Double.parseDouble(Num1);double num2=Double.parseDouble(Num2);fuhao.setText(" * ");jieguo.setText(""+YunSuan.cheng(num1, num2));}public void chu(View v){String Num1=etnum1.getText().toString();String Num2=etnum2.getText().toString();double num1=Double.parseDouble(Num1);double num2=Double.parseDouble(Num2);fuhao.setText(" / ");jieguo.setText(""+YunSuan.chu(num1, num2));}}


单独给计算数值建了一个类:

YunSuan.java

package mengda.ui_1_1; public class YunSuan { public static double jia(double num1, double num2){ return num1+num2; } public static double jian(double num1, double num2){ return num1-num2; } public static double cheng(double num1, double num2){ return num1*num2; } public static double chu(double num1, double num2){ if(num2==0){ throw new ArithmeticException("除数不能为零"); } return num1/num2; }}}

运行前图片:

运行加法:

运行减法:

运行乘法:

运行除法:

注:本简易计算器在进行计算时存在很多的不足,例如进行计算时要先输入要运算的数字,然后再选择运算类型,否则就会出现错误强制性关闭程序。


0 0
原创粉丝点击