当前位置: 首页 > java >正文

Android移动应用开发:创建计算器

目录

简单介绍

💡 功能说明

🧱 布局文件:activity_main.xml(语言类型:XML)

🧠 Java 主逻辑文件:MainActivity.java(语言类型:Java)

📱 程序运行效果

✅ 小结

简单介绍

本项目旨在通过一个简单的计算器案例,帮助大家更好地理解 Android 移动应用开发中布局、控件交互和事件处理的基础知识。通过 EditText 获取用户输入、Button 响应点击事件、TextView 显示结果,掌握输入输出和逻辑控制的完整流程。非常适合 Android Studio 初学者练习和入门。


💡 功能说明

用户输入两个整数和一个运算符(+、-、*、/),点击“计算”按钮后,程序会根据输入内容计算结果并显示。如果是除法且除数为 0,程序会给出错误提示。


🧱 布局文件:activity_main.xml(语言类型:XML)

<?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"tools:context=".MainActivity"android:orientation="vertical"><EditTextandroid:id="@+id/edt_1"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入一个数:" /><EditTextandroid:id="@+id/edt_2"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入一个数:" /><EditTextandroid:id="@+id/edt_3"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入一个符号(+ - * /):" /><Buttonandroid:id="@+id/btn_1"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="计算" /><TextViewandroid:id="@+id/tv_result"android:layout_width="wrap_content"android:layout_height="wrap_content" />
</LinearLayout>

🧠 Java 主逻辑文件:MainActivity.java(语言类型:Java)

package com.example.demo3;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;public class MainActivity extends AppCompatActivity {private EditText edt_1, edt_2, edt_3;private TextView tv_result;private Button btn_1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);  // 绑定布局edt_1 = findViewById(R.id.edt_1);edt_2 = findViewById(R.id.edt_2);edt_3 = findViewById(R.id.edt_3);tv_result = findViewById(R.id.tv_result);btn_1 = findViewById(R.id.btn_1);btn_1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Toast.makeText(MainActivity.this, "开始计算", Toast.LENGTH_SHORT).show();String inputA = edt_1.getText().toString();String inputB = edt_2.getText().toString();String operator = edt_3.getText().toString();try {int numA = Integer.parseInt(inputA);int numB = Integer.parseInt(inputB);switch (operator) {case "+":tv_result.setText(String.valueOf(numA + numB));break;case "-":tv_result.setText(String.valueOf(numA - numB));break;case "*":tv_result.setText(String.valueOf(numA * numB));break;case "/":if (numB != 0) {tv_result.setText(String.valueOf(numA / numB));} else {tv_result.setText("除数不能为0!");}break;default:tv_result.setText("无效的操作符");}} catch (NumberFormatException e) {tv_result.setText("请输入有效参数!");}}});}
}

📱 程序运行效果

运行程序后,界面会显示三个输入框,一个按钮,一个结果区域:

  1. 输入两个整数,例如:62

  2. 输入运算符,例如:/

  3. 点击“计算”按钮

  4. 结果显示为:3

如果输入的是除以0,例如 6 / 0,则提示:“除数不能为0!”


✅ 小结

通过本案例,大家可以掌握基本的 Android 控件使用(EditText、Button、TextView),事件监听(setOnClickListener),以及简单的输入校验和逻辑处理。非常适合初学者练习 Android 项目开发。

 

http://www.xdnf.cn/news/2186.html

相关文章:

  • 模型 隐含前提
  • 【后端】主从单体数据库故障自动切换,容灾与高可用
  • Jest 快照测试
  • 前端面试 HTML篇
  • vue中 vue.config.js反向代理
  • 元数据驱动的 AI 开发:从数据目录到模型训练自动化
  • 蓝桥杯 8. 移动距离
  • 【QuPath】人工标注WSI
  • 产销协同是什么?产销协同流程有哪些?
  • 2025.04.26-淘天春招笔试题-第二题
  • AutoSAR从概念到实践系列之MCAL篇(二)——Mcu模块配置及代码详解(下)
  • Pygame事件处理详解:键盘、鼠标与自定义事件
  • QT对话框及其属性
  • Tauri文件系统操作:桌面应用的核心能力(入门系列四)
  • 深度解析责任链Filter模式:构建灵活可扩展的请求处理管道
  • Spring Boot 支持政策
  • 【数据结构与算法】从完全二叉树到堆再到优先队列
  • 【每天一个知识点】点乘(Dot Product)
  • 【C语言练习】004. 使用各种运算符进行计算
  • 【高频考点精讲】前端职业发展:如何规划前端工程师的成长路径?
  • 【白雪讲堂】构建与优化企业知识图谱的实战指南
  • 关于GoWeb(1)
  • 构建智能风控引擎的全流程设计指南
  • 从基础到实战的量化交易全流程学习:1.2 金融市场基础
  • 主流 LLM 部署框架
  • DIFY 浅尝 - DIFY + Ollama 添加模型
  • 使用 LangGraph 和 Elasticsearch 构建强大的 RAG 工作流
  • nuxt3项目搭建:一、初始化项目流程指南
  • 【微知】/proc中如何查看Linux内核是否允许加载内核模块?(/proc/sys/kernel/modules_disabled)
  • 关于汇编语言与接口技术——算术运算程序的设计