选择编程语言为 Java或 Kotlin

发布时间:2025-06-24 17:46:53  作者:北方职教升学中心  阅读量:556


本篇文章将带你创建一个功能更强大的计算器应用,支持基本的加减乘除运算、


一、
  • 百分比运算:支持百分比的简单操作。

    完整布局代码:

    <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:padding="16dp"><!-- 显示屏 --><TextViewandroid:id="@+id/tvDisplay"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="end"android:padding="16dp"android:text="0"android:textSize="36sp"android:background="#E0E0E0"android:layout_marginBottom="16dp"/><!-- 按钮区域 --><GridLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:columnCount="4"android:rowCount="5"android:padding="8dp"><!-- 第一行 --><Buttonandroid:id="@+id/btnClear"android:text="C"style="@style/CalcButton"/><Buttonandroid:id="@+id/btnSign"android:text="+/-"style="@style/CalcButton"/><Buttonandroid:id="@+id/btnPercent"android:text="%"style="@style/CalcButton"/><Buttonandroid:id="@+id/btnDivide"android:text="/"style="@style/CalcButton"/><!-- 第二行 --><Buttonandroid:id="@+id/btn7"android:text="7"style="@style/CalcButton"/><Buttonandroid:id="@+id/btn8"android:text="8"style="@style/CalcButton"/><Buttonandroid:id="@+id/btn9"android:text="9"style="@style/CalcButton"/><Buttonandroid:id="@+id/btnMultiply"android:text="×"style="@style/CalcButton"/><!-- 第三行 --><Buttonandroid:id="@+id/btn4"android:text="4"style="@style/CalcButton"/><Buttonandroid:id="@+id/btn5"android:text="5"style="@style/CalcButton"/><Buttonandroid:id="@+id/btn6"android:text="6"style="@style/CalcButton"/><Buttonandroid:id="@+id/btnSubtract"android:text="-"style="@style/CalcButton"/><!-- 第四行 --><Buttonandroid:id="@+id/btn1"android:text="1"style="@style/CalcButton"/><Buttonandroid:id="@+id/btn2"android:text="2"style="@style/CalcButton"/><Buttonandroid:id="@+id/btn3"android:text="3"style="@style/CalcButton"/><Buttonandroid:id="@+id/btnAdd"android:text="+"style="@style/CalcButton"/><!-- 第五行 --><Buttonandroid:id="@+id/btn0"android:text="0"style="@style/CalcButton"android:layout_columnSpan="2"/><Buttonandroid:id="@+id/btnDot"android:text="."style="@style/CalcButton"/><Buttonandroid:id="@+id/btnEquals"android:text="="style="@style/CalcButton"/></GridLayout></LinearLayout>

    样式:

    <stylename="CalcButton"><item name="android:layout_width">0dp</item>    <item name="android:layout_height">wrap_content</item>    <item name="android:layout_gravity">center</item>    <item name="android:layout_weight">1</item>    <item name="android:textSize">18sp</item>    <item name="android:padding">16dp</item></style>

    三、

  • 实时显示结果:输入数字和符号后立即显示计算结果。功能设计
  • 基础功能
    1. 支持基本运算:加、
    2. 正负号切换:支持正负数输入。减、
    3. 2. 布局设计

      打开 res/layout/activity_main.xml文件,设计用户界面。继续尝试,相信你会开发出更复杂、总结

      通过本文的项目开发,你学习了以下内容:

      1. 使用 Android Studio 创建用户界面。科学计算模式等。
      2. 实现计算器的核心逻辑,包括实时计算和错误处理。
      3. 选择编程语言为 JavaKotlin。百分比、
      进阶功能
      1. 清除功能:重置当前计算状态。通过这个项目,你将全面掌握 Android 的布局设计、

        简介

        计算器是每个学习 Android 开发者必经的经典项目之一。

      扩展这个项目,你可以添加更多高级功能,如历史记录、事件处理和逻辑实现技巧。运行与测试

      1. 运行项目
        点击 Android Studio 的 Run按钮,在模拟器或真实设备上测试应用。


      五、除。更实用的应用!

    乘、实现功能逻辑
    1. 声明变量

    MainActivity.java中,定义需要的变量:

    publicclassMainActivityextendsAppCompatActivity{privateTextViewtvDisplay;privatedoublefirstOperand =0;privatedoublesecondOperand =0;privateStringoperator ="";privatebooleanisNewInput =true;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tvDisplay =findViewById(R.id.tvDisplay);setupListeners();}}
    2. 设置按钮监听事件

    为每个按钮绑定点击事件:

    privatevoidsetupListeners(){findViewById(R.id.btn0).setOnClickListener(v ->appendNumber("0"));findViewById(R.id.btn1).setOnClickListener(v ->appendNumber("1"));findViewById(R.id.btn2).setOnClickListener(v ->appendNumber("2"));findViewById(R.id.btn3).setOnClickListener(v ->appendNumber("3"));findViewById(R.id.btn4).setOnClickListener(v ->appendNumber("4"));findViewById(R.id.btn5).setOnClickListener(v ->appendNumber("5"));findViewById(R.id.btn6).setOnClickListener(v ->appendNumber("6"));findViewById(R.id.btn7).setOnClickListener(v ->appendNumber("7"));findViewById(R.id.btn8).setOnClickListener(v ->appendNumber("8"));findViewById(R.id.btn9).setOnClickListener(v ->appendNumber("9"));findViewById(R.id.btnAdd).setOnClickListener(v ->setOperator("+"));findViewById(R.id.btnSubtract).setOnClickListener(v ->setOperator("-"));findViewById(R.id.btnMultiply).setOnClickListener(v ->setOperator("*"));findViewById(R.id.btnDivide).setOnClickListener(v ->setOperator("/"));findViewById(R.id.btnDot).setOnClickListener(v ->appendNumber("."));findViewById(R.id.btnEquals).setOnClickListener(v ->calculate());findViewById(R.id.btnClear).setOnClickListener(v ->clearAll());findViewById(R.id.btnSign).setOnClickListener(v ->toggleSign());findViewById(R.id.btnPercent).setOnClickListener(v ->applyPercent());}
    3. 数字和操作符逻辑

    数字输入:

    privatevoidappendNumber(Stringnumber){if(isNewInput){tvDisplay.setText("");isNewInput =false;}tvDisplay.append(number);}

    设置操作符:

    privatevoidsetOperator(Stringop){firstOperand =Double.parseDouble(tvDisplay.getText().toString());operator =op;isNewInput =true;}
    4. 计算结果
    privatevoidcalculate(){secondOperand =Double.parseDouble(tvDisplay.getText().toString());doubleresult =0;switch(operator){case"+":result =firstOperand +secondOperand;break;case"-":result =firstOperand -secondOperand;break;case"*":result =firstOperand *secondOperand;break;case"/":if(secondOperand !=0){result =firstOperand /secondOperand;}else{tvDisplay.setText("Error");return;}break;}tvDisplay.setText(String.valueOf(result));isNewInput =true;}
    5. 清除功能
    privatevoidclearAll(){firstOperand =0;secondOperand =0;operator ="";tvDisplay.setText("0");isNewInput =true;}
    6. 其他功能

    百分比:

    privatevoidapplyPercent(){doublecurrent =Double.parseDouble(tvDisplay.getText().toString());tvDisplay.setText(String.valueOf(current /100));isNewInput =true;}

    **正负号

    切换:

    **
    privatevoidtoggleSign(){doublecurrent =Double.parseDouble(tvDisplay.getText().toString());tvDisplay.setText(String.valueOf(-current));}

    四、
  • 选择 Empty Activity模板,命名项目为 AdvancedCalculator

  • 二、项目创建与布局设计

    1. 创建新项目
    • 打开 Android Studio,点击 New Project。带小数点的输入以及更多操作符功能。正负切换等功能是否正确。
    • 在 Android 中处理按钮点击事件。

    • 测试功能
      验证加减乘除、

    • 支持小数点输入:可以输入和计算小数。