输入数字和运算符来执行计算
发布时间:2025-06-24 21:05:15 作者:北方职教升学中心 阅读量:343
/)、*、例如,输入数字和运算符后,点击等号按钮进行计算,结果将显示在顶部文本框中。
步骤二:设计用户界面
- 打开res/layout/activity_main.xml文件,使用XML布局设计计算器界面。
- 在弹出的窗口中,输入应用程序名称(例如:SimpleCalculator),选择保存位置,然后点击“Next”。
- 在“Configure Activity”界面上,保持默认设置,点击“Finish”完成项目创建。接着,点击Android Studio中的运行按钮来安装和启动你的应用程序。小数点按钮(.)和等号按钮(=)。
- 效果预览:

文章目录
- 步骤一:创建新项目
- 步骤二:设计用户界面
- 步骤三:实现逻辑代码
- 步骤四:运行和测试
步骤一:创建新项目
- 打开Android Studio,点击“Create New Project”来创建一个新的Android项目。-、以下是一个简单的示例:
<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#eeeeee"android:orientation="vertical"android:padding="5dp"><ScrollViewandroid:layout_width="match_parent"android:layout_height="wrap_content"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"android:text="@string/simple_calculator"android:textColor="@color/black"android:textSize="20sp"/><TextViewandroid:id="@+id/tv_result"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="@color/white"android:gravity="right|bottom"android:lines="3"android:text="0"android:textColor="@color/black"android:textSize="25sp"/><GridLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:columnCount="4"android:rowCount="5"><Buttonandroid:id="@+id/btn_cancel"android:layout_columnWeight="1"android:width="0dp"android:height="@dimen/button_height"android:gravity="center"android:text="@string/cancel"android:textColor="@color/black"android:textSize="@dimen/button_font_size"/><Buttonandroid:id="@+id/btn_divide"android:layout_columnWeight="1"android:width="0dp"android:height="@dimen/button_height"android:gravity="center"android:text="@string/divide"android:textColor="@color/black"android:textSize="@dimen/button_font_size"/><Buttonandroid:id="@+id/btn_multiply"android:layout_columnWeight="1"android:width="0dp"android:height="@dimen/button_height"android:gravity="center"android:text="@string/multiply"android:textColor="@color/black"android:textSize="@dimen/button_font_size"/><Buttonandroid:id="@+id/btn_clear"android:layout_columnWeight="1"android:width="0dp"android:height="@dimen/button_height"android:gravity="center"android:text="@string/clear"android:textColor="@color/black"android:textSize="@dimen/button_font_size"/><Buttonandroid:id="@+id/btn_seven"android:layout_columnWeight="1"android:width="0dp"android:height="@dimen/button_height"android:gravity="center"android:text="@string/seven"android:textColor="@color/black"android:textSize="@dimen/button_font_size"/><Buttonandroid:id="@+id/btn_eight"android:layout_columnWeight="1"android:width="0dp"android:height="@dimen/button_height"android:gravity="center"android:text="@string/eight"android:textColor="@color/black"android:textSize="@dimen/button_font_size"/><Buttonandroid:id="@+id/btn_nine"android:layout_columnWeight="1"android:width="0dp"android:height="@dimen/button_height"android:gravity="center"android:text="@string/nine"android:textColor="@color/black"android:textSize="@dimen/button_font_size"/><Buttonandroid:id="@+id/btn_plus"android:layout_columnWeight="1"android:width="0dp"android:height="@dimen/button_height"android:gravity="center"android:text="@string/plus"android:textColor="@color/black"android:textSize="@dimen/button_font_size"/><Buttonandroid:id="@+id/btn_four"android:layout_columnWeight="1"android:width="0dp"android:height="@dimen/button_height"android:gravity="center"android:text="@string/four"android:textColor="@color/black"android:textSize="@dimen/button_font_size"/><Buttonandroid:id="@+id/btn_five"android:layout_columnWeight="1"android:width="0dp"android:height="@dimen/button_height"android:gravity="center"android:text="@string/five"android:textColor="@color/black"android:textSize="@dimen/button_font_size"/><Buttonandroid:id="@+id/btn_six"android:layout_columnWeight="1"android:width="0dp"android:height="@dimen/button_height"android:gravity="center"android:text="@string/six"android:textColor="@color/black"android:textSize="@dimen/button_font_size"/><Buttonandroid:id="@+id/btn_minus"android:layout_columnWeight="1"android:width="0dp"android:height="@dimen/button_height"android:gravity="center"android:text="@string/minus"android:textColor="@color/black"android:textSize="@dimen/button_font_size"/><Buttonandroid:id="@+id/btn_one"android:layout_columnWeight="1"android:width="0dp"android:height="@dimen/button_height"android:gravity="center"android:text="@string/one"android:textColor="@color/black"android:textSize="@dimen/button_font_size"/><Buttonandroid:id="@+id/btn_two"android:layout_columnWeight="1"android:width="0dp"android:height="@dimen/button_height"android:gravity="center"android:text="@string/two"android:textColor="@color/black"android:textSize="@dimen/button_font_size"/><Buttonandroid:id="@+id/btn_three"android:layout_columnWeight="1"android:width="0dp"android:height="@dimen/button_height"android:gravity="center"android:text="@string/three"android:textColor="@color/black"android:textSize="@dimen/button_font_size"/><Buttonandroid:id="@+id/btn_sqrt"android:layout_columnWeight="1"android:width="0dp"android:height="@dimen/button_height"android:gravity="center"android:text="@string/sqrt"android:textColor="@color/black"android:textSize="@dimen/button_font_size"/><Buttonandroid:id="@+id/btn_reciprocal"android:layout_columnWeight="1"android:width="0dp"android:height="@dimen/button_height"android:gravity="center"android:text="@string/reciprocal"android:textColor="@color/black"android:textSize="@dimen/button_font_size"/><Buttonandroid:id="@+id/btn_zero"android:layout_columnWeight="1"android:width="0dp"android:height="@dimen/button_height"android:gravity="center"android:text="@string/zero"android:textColor="@color/black"android:textSize="@dimen/button_font_size"/><Buttonandroid:id="@+id/btn_dot"android:layout_columnWeight="1"android:width="0dp"android:height="@dimen/button_height"android:gravity="center"android:text="@string/dot"android:textColor="@color/black"android:textSize="@dimen/button_font_size"/><Buttonandroid:id="@+id/btn_equal"android:layout_columnWeight="1"android:width="0dp"android:height="@dimen/button_height"android:gravity="center"android:text="@string/equal"android:textColor="@color/black"android:textSize="@dimen/button_font_size"/></GridLayout></LinearLayout></ScrollView></LinearLayout>
- 在res/values下创建一个用来定义尺寸的资源文件dimens.xml
<?xml version="1.0" encoding="utf-8"?><resources><dimenname="button_font_size">30sp</dimen><dimenname="button_height">75dp</dimen></resources>
- 修改res/values下的字符串资源文件strings.xml
<resources><stringname="app_name">simpleCalculator</string><stringname="simple_calculator">简单计算器</string><stringname="cancel">CE</string><stringname="divide">/</string><stringname="multiply">x</string><stringname="clear">C</string><stringname="seven">7</string><stringname="eight">8</string><stringname="nine">9</string><stringname="plus">+</string><stringname="four">4</string><stringname="five">5</string><stringname="six">6</string><stringname="minus">-</string><stringname="one">1</string><stringname="two">2</string><stringname="three">3</string><stringname="sqrt">√</string><stringname="reciprocal">1/x</string><stringname="zero">0</string><stringname="dot">.</string><stringname="equal">=</string></resources>
步骤三:实现逻辑代码
- 打开MainActivity.java文件,实现计算器的逻辑功能。这个应用程序将能够进行基本的加减乘除运算,并展示运算结果。
- 在选择设备类型和最低SDK版本时,选择“Phone and Tablet”并选择一个合适的最低SDK版本,然后点击“Next”。
- 输入数字和运算符来执行计算。
- 应用程序启动后,你将看到一个简单的计算器界面,包括数字按钮(0-9)、运算符按钮(+、以下是代码:
packagecom.example.simplecalculator;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.TextView;importandroidx.appcompat.app.AppCompatActivity;publicclassMainActivityextendsAppCompatActivityimplementsView.OnClickListener{privateTextViewtv_result;privateStringfirstNum ="";privateStringoperator ="";privateStringsecondNum ="";privateStringresult ="";privateStringshowText ="";@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv_result =findViewById(R.id.tv_result);findViewById(R.id.btn_cancel).setOnClickListener(this);findViewById(R.id.btn_divide).setOnClickListener(this);findViewById(R.id.btn_multiply).setOnClickListener(this);findViewById(R.id.btn_clear).setOnClickListener(this);findViewById(R.id.btn_seven).setOnClickListener(this);findViewById(R.id.btn_eight).setOnClickListener(this);findViewById(R.id.btn_nine).setOnClickListener(this);findViewById(R.id.btn_plus).setOnClickListener(this);findViewById(R.id.btn_four).setOnClickListener(this);findViewById(R.id.btn_five).setOnClickListener(this);findViewById(R.id.btn_six).setOnClickListener(this);findViewById(R.id.btn_minus).setOnClickListener(this);findViewById(R.id.btn_one).setOnClickListener(this);findViewById(R.id.btn_two).setOnClickListener(this);findViewById(R.id.btn_three).setOnClickListener(this);findViewById(R.id.btn_reciprocal).setOnClickListener(this);findViewById(R.id.btn_zero).setOnClickListener(this);findViewById(R.id.btn_dot).setOnClickListener(this);findViewById(R.id.btn_equal).setOnClickListener(this);findViewById(R.id.btn_sqrt).setOnClickListener(this);}@OverridepublicvoidonClick(Viewview){StringinputText;if(view.getId()==R.id.btn_sqrt){inputText ="√";}else{inputText =((TextView)view).getText().toString();}if(view.getId()==R.id.btn_clear){clear();}elseif(view.getId()==R.id.btn_cancel){}elseif(view.getId()==R.id.btn_plus){operator =inputText;refreshText(showText +operator);}elseif(view.getId()==R.id.btn_minus){operator =inputText;refreshText(showText +operator);}elseif(view.getId()==R.id.btn_multiply){operator =inputText;refreshText(showText +operator);}elseif(view.getId()==R.id.btn_divide){operator =inputText;refreshText(showText +operator);}elseif(view.getId()==R.id.btn_equal){doublecalculate_result =calculateFour();refreshOperate(String.valueOf(calculate_result));refreshText(showText +"="+result);}elseif(view.getId()==R.id.btn_sqrt){doublesqrt_result =Math.sqrt(Double.parseDouble(firstNum));refreshOperate(String.valueOf(sqrt_result));refreshText(showText +"√="+result);}elseif(view.getId()==R.id.btn_reciprocal){doublereciprocal_result =1.0/Double.parseDouble(firstNum);refreshOperate(String.valueOf(reciprocal_result));refreshText(showText +"/="+result);}else{if(operator.equals("")){firstNum =firstNum +inputText;}else{secondNum =secondNum +inputText;}if(showText.equals("0")&&!inputText.equals(".")){refreshText(inputText);}else{refreshText(showText +inputText);}}}privatedoublecalculateFour(){switch(operator){case"+":returnDouble.parseDouble(firstNum)+Double.parseDouble(secondNum);case"-":returnDouble.parseDouble(firstNum)-Double.parseDouble(secondNum);case"x":returnDouble.parseDouble(firstNum)*Double.parseDouble(secondNum);case"/":returnDouble.parseDouble(firstNum)/Double.parseDouble(secondNum);}return0;}privatevoidclear(){refreshOperate("");refreshText("");}privatevoidrefreshOperate(Stringnew_result){result =new_result;firstNum =result;secondNum ="";operator ="";}privatevoidrefreshText(Stringtext){showText =text;tv_result.setText(showText);}}
步骤四:运行和测试
- 连接你的Android设备或启动模拟器,确保Android Studio正确配置。
在本文中,我们将使用Android Studio开发工具,实现一个简单的计算器应用程序。清除按钮(C)、
- 点击清除按钮可以清除当前输入和计算结果,重新开始新的计算。
- 在“Add an Activity to Mobile”界面上,选择“Empty Activity”,然后点击“Next”。