【Android Studio】简易计算器

这篇具有很好参考价值的文章主要介绍了【Android Studio】简易计算器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简易计算器要求:

1,操作简单,易于掌握,界面简单。
2.方便进行加,减,乘,除等操作。数字保留小数点后两位。
3.包含小数点运算和输入回退功能。
4.能够进行多次叠加运算。
5.系统能够进行多次叠加运算。
6.系统可以稳定运行。

功能图如下:
androidstudio计算器,android studio,python,android
逻辑流程图如下:
androidstudio计算器,android studio,python,android

项目建立

项目的创建。
新建项目:项目名称设置为MainActicity。
在Activity模板中选择Blank Activity或者empty Activity模板。
其余操作不变,完成项目的创建。

计算器主界面的实现

1.设计界面布局XML文件。
在Android Studio的工程中resllayout\目录下,找到activity_main.xml文件,这是用来作为主界面布局的设置文件。在该布局文件中,添加一个AbsoluteLayout(绝对布局管理器)组件,用于显示功能图标和图标上的文本,在AbsoluteLayout(绝对布局管理器)中,定义一个TextView用于显示中间数字和结果,定义17个Button用于输入0-9的数字和+、-、*、1、=、.运算符号以及“Back”输入回退按钮,并用“android:onClick”属性绑定它们的响应函数,具体代码如下。
其代码如下:

<?xml version="1.0" encoding="utf-8"?>

<AbsoluteLayout android:id="@+id/widget0"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
     xmlns:android="http://schemas.android.com/apk/res/android">

    <TextView android:id="@+id/txtResult"
        android:layout_width="460px"
        android:layout_height="80px"
        android:background="#ffffffff"
        android:text="0.0"
        android:textSize="28sp"
        android:textStyle="bold"
        android:textColor="#ff333333"
        android:layout_x="11dp"
        android:layout_y="16dp"
        android:gravity="end|right"
        android:padding="2px" />
    <Button android:id="@+id/btn1"
        android:layout_width="80px"
        android:layout_height="80px"
        android:text="1"
        android:textSize="20sp"
        android:background="#ff5599ff"
        android:textStyle="bold"
        android:gravity="center"
        android:layout_x="15dp"
        android:layout_y="85dp"
        android:onClick="digital_click"/>
    <Button android:id="@+id/btn2"
        android:layout_width="80px"
        android:layout_height="80px"
        android:text="2"
        android:textSize="20sp"
        android:background="#ff5599ff"
        android:textStyle="bold"
        android:gravity="center"
        android:layout_x="85dp"
        android:layout_y="85dp"
        android:onClick="digital_click"/>
    <Button android:id="@+id/btn3"
        android:layout_width="80px"
        android:layout_height="80px"
        android:text="3"
        android:textSize="20sp"
        android:background="#ff5599ff"
        android:textStyle="bold"
        android:gravity="center"
        android:layout_x="155dp"
        android:layout_y="85dp"
        android:onClick="digital_click"/>
    <Button android:id="@+id/btnAdd"
        android:layout_width="80px"
        android:layout_height="80px"
        android:text="+"
        android:textSize="20sp"
        android:textStyle="bold"
        android:gravity="center"
        android:layout_x="225dp"
        android:layout_y="85dp"
        android:onClick="add"/>
    <Button android:id="@+id/btn4"
        android:layout_width="80px"
        android:layout_height="80px"
        android:text="4"
        android:textSize="20sp"
        android:background="#ff5599ff"
        android:textStyle="bold"
        android:gravity="center"
        android:layout_x="15dp"
        android:layout_y="155dp"
        android:onClick="digital_click"/>
    <Button android:id="@+id/btn5"
        android:layout_width="80px"
        android:layout_height="80px"
        android:text="5"
        android:textSize="20sp"
        android:background="#ff5599ff"
        android:textStyle="bold"
        android:gravity="center"
        android:layout_x="85dp"
        android:layout_y="155dp"
        android:onClick="digital_click"/>
    <Button android:id="@+id/btn6"
        android:layout_width="80px"
        android:layout_height="80px"
        android:text="6"
        android:textSize="20sp"
        android:background="#ff5599ff"
        android:textStyle="bold"
        android:gravity="center"
        android:layout_x="155dp"
        android:layout_y="155dp"
        android:onClick="digital_click"/>
    <Button android:id="@+id/btnsub"
        android:layout_width="80px"
        android:layout_height="80px"
        android:text="-"
        android:textSize="20sp"
        android:textStyle="bold"
        android:gravity="center"
        android:layout_x="225dp"
        android:layout_y="155dp"
        android:onClick="sub"/>
    <Button android:id="@+id/btn7"
        android:layout_width="80px"
        android:layout_height="80px"
        android:text="7"
        android:textSize="20sp"
        android:background="#ff5599ff"
        android:textStyle="bold"
        android:gravity="center"
        android:layout_x="15dp"
        android:layout_y="225dp"
        android:onClick="digital_click"/>
    <Button android:id="@+id/btn8"
        android:layout_width="80px"
        android:layout_height="80px"
        android:text="8"
        android:textSize="20sp"
        android:background="#ff5599ff"
        android:textStyle="bold"
        android:gravity="center"
        android:layout_x="85dp"
        android:layout_y="225dp"
        android:onClick="digital_click"/>
    <Button android:id="@+id/btn9"
        android:layout_width="80px"
        android:layout_height="80px"
        android:text="9"
        android:textSize="20sp"
        android:background="#ff5599ff"
        android:textStyle="bold"
        android:gravity="center"
        android:layout_x="155dp"
        android:layout_y="225dp"
        android:onClick="digital_click"/>
    <Button android:id="@+id/btnMul"
        android:layout_width="80px"
        android:layout_height="80px"
        android:text="*"
        android:textSize="20sp"
        android:textStyle="bold"
        android:gravity="center"
        android:layout_x="225dp"
        android:layout_y="225dp"
        android:onClick="mul"/>
    <Button android:id="@+id/btn0"
        android:layout_width="130px"
        android:layout_height="80px"
        android:text="0"
        android:textSize="20sp"
        android:textStyle="bold"
        android:gravity="center"
        android:layout_x="15dp"
        android:layout_y="295dp"
        android:onClick="digital_click"/>
    <Button android:id="@+id/btnPoint"
        android:layout_width="80px"
        android:layout_height="80px"
        android:text="."
        android:textSize="20sp"
        android:textStyle="bold"
        android:gravity="center"
        android:layout_x="155dp"
        android:layout_y="295dp"
        android:onClick="point_click"/>
    <Button android:id="@+id/btnDiv"
        android:layout_width="80px"
        android:layout_height="80px"
        android:text="/"
        android:textSize="20sp"
        android:textStyle="bold"
        android:gravity="center"
        android:layout_x="225dp"
        android:layout_y="295dp"
        android:onClick="div"/>
    <Button android:id="@+id/btndel"
        android:layout_width="80px"
        android:layout_height="85px"
        android:text="back"
        android:textSize="14sp"
        android:textStyle="bold"
        android:textColor="#ffff0000"
        android:gravity="center"
        android:layout_x="15dp"
        android:layout_y="365dp"
        android:onClick="del"/>
    <Button android:id="@+id/btnequ"
        android:layout_width="290px"
        android:layout_height="80px"
        android:text="="
        android:textSize="20sp"
        android:textStyle="bold"
        android:gravity="center"
        android:layout_x="85dp"
        android:layout_y="365dp"
        android:onClick="equ"/>
</AbsoluteLayout>

计算器逻辑的实现

由于程序需要使用到库函数中的模块定义,所以在编写程序时,需“import(导入)”相应的内容
来支持程序中对该类的使用。例如要使用AndroidStudio中的“按钮元件,就必须导入“Button”类,Android计算器的文件头如下:

package com.example.mainacticity;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import java.text.NumberFormat;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

整体代码如下:

package com.example.mainacticity;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import java.text.NumberFormat;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    double firstNum=0;//第一个输入的数据
    char currentSign='+';//记录第一次输入的符号
    StringBuffer currentNum=new StringBuffer();//得到textview中的数据
    boolean isFirstPoint=false;//第一个数据是否是小数点
    TextView txtResult;//输出结果

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        txtResult=(TextView) findViewById(R.id.txtResult);
    }

    //1.输入框恢复与初始化
    public void init(){
        currentNum.delete(0,currentNum.length());//设置当前textview中的值为0
        isFirstPoint=false;
    }

    //2.数制转换函数
    public double stringToDouble(){
        if(currentNum.length()==0){
            return 0;
        }
        double result=Double.parseDouble(currentNum.toString());
        return result;
    }

    //3.计算函数
    public double calcu(){
        double result=0;
        switch (currentSign){
            case '+':
                result=firstNum+stringToDouble();
                break;
            case '-':
                result=firstNum-stringToDouble();
                break;
            case '*':
                result=firstNum*stringToDouble();
                break;
            case '/':
                result=firstNum/stringToDouble();
                break;
            default:
                break;
        }
        //对小数点后的数据进行格式化
        NumberFormat format=NumberFormat.getInstance();
        format.setMaximumFractionDigits(2);
        result=Double.parseDouble(format.format(result));
        return result;
    }

    //4显示数据函数
    public void display(){
        txtResult.setText(currentNum.toString());
    }

    //5数字按钮单击响应函数
    public void digital_click(View view){
        Button btnDigital=(Button)view;
        char text= btnDigital.getText().charAt(0);
        currentNum.append(text);
        display();
    }

    //6.加法按钮单击
    public void add(View view){
        double result=calcu();
        txtResult.setText(String.valueOf(result));
        firstNum=result;
        currentSign='+';
        init();
    }
    //7.单击减法
    public void sub(View view) {
        double result = calcu();
        txtResult.setText(String.valueOf(result));
        firstNum = result;
        currentSign = '-';
        init();
    }
    //8.单击乘法
    public void mul(View view) {
        double result = calcu();
        txtResult.setText(String.valueOf(result));
        firstNum = result;
        currentSign = '*';
        init();
    }
    //9.单击除法
    public void div(View view) {
        double result = calcu();
        txtResult.setText(String.valueOf(result));
        firstNum = result;
        currentSign = '/';
        init();
    }
    //10.处理等于函数
    public void equ(View view){
        double result=calcu();
        txtResult.setText(String.valueOf(result));
        firstNum=result;
        currentSign='+';
        init();

    }
    //11.小数点按钮单击相应函数
    public void point_click(View view){
        if(isFirstPoint){
            return;//当第一个数据为小数点时,程序返回
        }
        if(currentNum.length()==0){
            return;//当没有输入的数据时返回
        }
        Button btnPoint=(Button) view;
        char text=btnPoint.getText().charAt(0);
        currentNum.append(text);
        isFirstPoint=true;
        display();
    }

    //12.删除按钮单击相应
    public void del(View view){
        if(currentNum.length()>=1){
            currentNum.delete(currentNum.length()-1,currentNum.length());
        }
        if(currentNum.length()==0){
            init();
            display();
        }
        txtResult.setText(currentNum);

    }
}

选择合适的设备运行:
androidstudio计算器,android studio,python,android
点击绿色三角run运行,短暂的加载后出现计算器界面:
androidstudio计算器,android studio,python,android
进行运算:
androidstudio计算器,android studio,python,android
22+23=45
androidstudio计算器,android studio,python,android
可以进行简单的加减乘除运算,会自动四舍五入,保留小数点后两位数字。
完成!文章来源地址https://www.toymoban.com/news/detail-717524.html

到了这里,关于【Android Studio】简易计算器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android开发:基于Kotlin编写一个简易计算器

    本着程序员“拥抱变化”的思想,最近开始学Kotlin了。感觉还是得通过实战来入门一门新语言,所以打算写一个基于Kotlin语言的计算器,本文对开发过程以及学习Kotlin的一些知识进行了记录。 计算器的全部源码已经放到了我的Github中,需要的伙伴自取:Calculator Kotlin中文站:

    2023年04月27日
    浏览(59)
  • Android Studio制作一个简单的计算器APP

    虽然现在我们日常生活中很少用到计算器,但是第一次尝试在Android Studio上做一个计算器 程序设计步骤: (1)在布局文件中声明编辑文件框EditText,按钮Button等组件。 (2)在MainActivity中获取组件实例。 (3)通过swtich函数,判断输入的内容,并进行相应操作,通过getText()获

    2024年02月11日
    浏览(49)
  • 学会使用Android Studio网格布局制作计算器界面

    1.1GridLayout布局使用虚细线将布局划分为行、列和单元格,也支持一个控件在行、列上都有交错排列。 1.2可以自己设置布局中组件的排列方式 1.3可以自定义网格布局有多少行、多少列 1.4可以直接设置组件位于某行某列 1.5可以设置组件横跨几行或者几列 基于-  Empty Activity 模板

    2024年02月08日
    浏览(46)
  • 基于Android Studio 实现计算器(简单易上手使用技术多)

    🍅 文章末尾有获取完整项目源码方式 🍅         本项目是一个基于Android Studio和Java语言开发的简单计算器应用。应用包含启动页面、登陆注册页面、首页、计算器页面和我的页面等多个功能模块。         通过这个项目的实践,希望这个项目能够帮助你入门Android开

    2024年04月12日
    浏览(55)
  • 初学编程 第一个小程序Android studio实现计算器功能

    源代码下载:https://gitee.com/zha-yingying/calculator.git 1.建立一个新的Layout,我这里使用的是GridLayout(网格布局),提取屏幕宽度(方便后面设置子控件的宽度)GridLayout的特点是自定义网格布局有几行几列,我们可以将自控件自定义放在第几行第几列。 2.建立一个新的textview(文本

    2023年04月14日
    浏览(68)
  • 移动开发作业三:使用Android studio来实现简单的计算器

    一.实验要求 结合所学内容利用Android studio来设计一个开发实例,这里去我选择做一个简易的计算器,可以初步实现加减乘除。 二.实验功能 该计算器与我们平常手机上的计算器一样,可以进行加减乘除操作。 三.实验过程 1.首先是关于计算器的布局 在layout文件下的drawable文件

    2024年02月02日
    浏览(58)
  • Android Studio:一个简单的计算器app的实现过程<初级>

    📌Android Studio 专栏正在持续更新中,案例的原理图解析、各种模块分析💖这里都有哦,同时也欢迎大家订阅专栏,获取更多详细信息哦✊✊✊ ✨个人主页:零小唬的博客主页 🥂欢迎大家 👍点赞 📨评论 🔔收藏 ✨作者简介:20级计算机专业学生一枚,来自宁夏,可能会去

    2024年02月01日
    浏览(106)
  • 移动应用开发实验一Android studio设计三种计算器的UI

    使用必要的布局方式,设计下面三种计算器的界面: 简单的计算器 科学计算器 程序计算器 边框的设置是建立一个drawable的xml文件,然后写了边框宽度、颜色、圆角和内边距。调用的时候用到了background属性 。

    2024年02月11日
    浏览(59)
  • Android计算器实现

    这个项目是一个简单的计算器应用,它可以执行加、减、乘、除四种基本运算等计算器的基本功能。我们将使用Android Studio作为开发工具。 1. 在Android Studio中创建新的Android项目。 2. 在布局文件(`activity_main.xml`)中,我们将添加一个按钮和一个用于显示结果的文本视图。 3. 在

    2024年02月07日
    浏览(38)
  • AndroidStudio案例——简单计算器

                设计一款带有可视化界面的简单计算器,供用户输入数据并查看结果。用户通过点击相应按钮(加减乘除运算符、等号、数字)输入正确的表达式,计算器进行相应的加减乘除运算,且可以进行小数和整数的运算;长按清除按钮3秒,可以清除已录入的内容。

    2024年02月02日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包