返回顶部
首页 > 资讯 > 移动开发 >用Android studio实现简易计算器功能
  • 851
分享到

用Android studio实现简易计算器功能

2024-04-02 19:04:59 851人浏览 薄情痞子
摘要

用Android studio做一个简易计算器,供大家参考,具体内容如下 长话短说,先建立一个Android项目; 创建完成后打开activity_main.xml,构建我们的应

Android studio做一个简易计算器,供大家参考,具体内容如下

长话短说,先建立一个Android项目

创建完成后打开activity_main.xml,构建我们的应用界面,输入以下代码:

<?xml version="1.0" encoding="utf-8"?>
<GridLayout  xmlns:android="Http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:rowCount="6"
    android:columnCount="4"
    >
    <!--文本标签-->
    <EditText
        android:id="@+id/edit"
        android:layout_width="350dp"
        android:layout_height="wrap_content"
        android:layout_columnSpan="4"
        android:layout_marginLeft="4px"
        android:gravity="left"
        android:textSize="50dp" />

    <Button
        android:id="@+id/clear"
        android:layout_width="353Dp"
        android:layout_height="wrap_content"
        android:layout_columnSpan="4"
        android:text="清除"
        android:textSize="26sp" />

    <Button
        android:id="@+id/btn1"
        android:text="1"
        android:textSize="26sp" />

    <Button
        android:id="@+id/btn2"
        android:text="2"
        android:textSize="26sp" />

    <Button
        android:id="@+id/btn3"
        android:text="3"
        android:textSize="26sp" />

    <Button
        android:id="@+id/jia"
        android:text="+"
        android:textSize="26sp" />

    <Button
        android:id="@+id/btn4"
        android:text="4"
        android:textSize="26sp" />

    <Button
        android:id="@+id/btn5"
        android:text="5"
        android:textSize="26sp" />

    <Button
        android:id="@+id/btn6"
        android:text="6"
        android:textSize="26sp" />

    <Button
        android:id="@+id/jian"
        android:text="-"
        android:textSize="26sp" />

    <Button
        android:id="@+id/btn7"
        android:text="7"
        android:textSize="26sp" />

    <Button
        android:id="@+id/btn8"
        android:text="8"
        android:textSize="26sp" />

    <Button
        android:id="@+id/btn9"
        android:text="9"
        android:textSize="26sp" />

    <Button
        android:id="@+id/cheng"
        android:text="*"
        android:textSize="26sp" />

    <Button
        android:id="@+id/dian"
        android:text="."
        android:textSize="26sp" />

    <Button
        android:id="@+id/btn0"
        android:text="0"
        android:textSize="26sp" />

    <Button
        android:id="@+id/sum"
        android:text="="
        android:textSize="26sp" />

    <Button
        android:id="@+id/chu"
        android:text="/"
        android:textSize="26sp" />

完成后再找到Mainactivity.java,输入以下代码:

package com.example.a00_ff_59_7f_7e_dc_54_3;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    Button btn1, btn2, btn3, btn4, btn5, btn6, btn7, btn8, btn9, btn0; // 数字按钮
    Button jia, jian, cheng, chu, dian, sum, clear;// +号
    EditText edit; // 显示文本


    private String ss = "";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        // 获取页面上的控件
        btn1 = (Button) findViewById(R.id.btn1);
        btn2 = (Button) findViewById(R.id.btn2);
        btn3 = (Button) findViewById(R.id.btn3);
        btn4 = (Button) findViewById(R.id.btn4);
        btn5 = (Button) findViewById(R.id.btn5);
        btn6 = (Button) findViewById(R.id.btn6);
        btn7 = (Button) findViewById(R.id.btn7);
        btn8 = (Button) findViewById(R.id.btn8);
        btn9 = (Button) findViewById(R.id.btn9);
        btn0 = (Button) findViewById(R.id.btn0);
        jia = (Button) findViewById(R.id.jia);
        jian = (Button) findViewById(R.id.jian);
        cheng = (Button) findViewById(R.id.cheng);
        chu = (Button) findViewById(R.id.chu);
        sum = (Button) findViewById(R.id.sum);
        dian = (Button) findViewById(R.id.dian);
        clear = (Button) findViewById(R.id.clear);
        edit = (EditText) findViewById(R.id.edit);

        // 按钮的单击事件
        btn1.setOnClickListener(new Click());
        btn2.setOnClickListener((View.OnClickListener) new Click());
        btn3.setOnClickListener(new Click());
        btn4.setOnClickListener(new Click());
        btn5.setOnClickListener(new Click());
        btn6.setOnClickListener(new Click());
        btn7.setOnClickListener(new Click());
        btn8.setOnClickListener(new Click());
        btn9.setOnClickListener(new Click());
        btn0.setOnClickListener(new Click());
        jia.setOnClickListener(new Click());
        jian.setOnClickListener(new Click());
        cheng.setOnClickListener(new Click());
        chu.setOnClickListener(new Click());
        sum.setOnClickListener(new Click());
        dian.setOnClickListener(new Click());
        clear.setOnClickListener(new Click());
        edit.setOnClickListener(new Click());
    }

    // 设置按钮点击后的监听
    class Click implements View.OnClickListener {
        public void onClick(View v) {
            switch (v.getId()) {                //switch循环获取点击按钮后的值
                case R.id.clear: {
                    ss = "";
                    edit.setText(ss);
                }
                break;

                case R.id.btn0: {
                    ss += "0";
                    edit.setText(ss);
                }
                break;
                case R.id.btn1: {
                    ss += "1";
                    edit.setText(ss);
                }
                break;
                case R.id.btn2: {
                    ss += "2";
                    edit.setText(ss);
                }
                break;

                case R.id.btn3: {
                    ss += "3";
                    edit.setText(ss);
                }
                break;
                case R.id.btn4: {
                    ss += "4";
                    edit.setText(ss);
                }
                break;
                case R.id.btn5: {
                    ss += "5";
                    edit.setText(ss);
                }
                break;

                case R.id.btn6: {
                    ss += "6";
                    edit.setText(ss);
                }
                break;
                case R.id.btn7: {
                    ss += "7";
                    edit.setText(ss);
                }
                break;
                case R.id.btn8: {
                    ss += "8";
                    edit.setText(ss);
                }
                break;
                case R.id.btn9: {
                    ss += "0";
                    edit.setText(ss);
                }
                break;
                case R.id.dian: {
                    if (ss.length() == 0 || ss.indexOf(" ") == ss.length() - 3 || ss.lastIndexOf(".") > ss.indexOf(" ")) {
                        break;
                    } else {
                        ss += ".";
                        edit.setText(ss);
                    }
                }
                break;
                case R.id.jia: {
                    if (ss.length() == 0) {
                        break;
                    }
                    if (ss.contains(" ")) {
                        if (ss.indexOf(" ") == ss.length() - 3 || ss.indexOf(" ") == ss.length() - 2 || ss.indexOf(" ") == ss.length() - 1)
                            break;
                        getResult();
                    }

                    ss += " + ";
                    edit.setText(ss);
                }
                break;
                case R.id.jian: {
                    if (ss.length() == 0) {
                        break;
                    }
                    if (ss.contains(" ")) {
                        if (ss.indexOf(" ") == ss.length() - 3 || ss.indexOf(" ") == ss.length() - 2 || ss.indexOf(" ") == ss.length() - 1)
                            break;
                        getResult();
                    }

                    ss += " - ";
                    edit.setText(ss);
                }
                break;
                case R.id.cheng: {
                    if (ss.length() == 0) {
                        break;
                    }
                    if (ss.contains(" ")) {
                        if (ss.indexOf(" ") == ss.length() - 3 || ss.indexOf(" ") == ss.length() - 2 || ss.indexOf(" ") == ss.length() - 1)
                            break;
                        getResult();
                    }

                    ss += " × ";
                    edit.setText(ss);
                }
                break;
                case R.id.chu: {
                    if (ss.length() == 0) {
                        break;
                    }
                    if (ss.contains(" ")) {
                        if (ss.indexOf(" ") == ss.length() - 3 || ss.indexOf(" ") == ss.length() - 2 || ss.indexOf(" ") == ss.length() - 1)
                            break;
                        getResult();
                    }

                    ss += " / ";
                    edit.setText(ss);
                }
                break;
                case R.id.sum:
                    getResult();
                    break;
            }
        }

        private void getResult() {
            double result = 0;
            if (ss == null || ss.equals("")) return;
            if (!ss.contains(" ")) return;
            String s1 = ss.substring(0, ss.indexOf(" "));
            String op = ss.substring(ss.indexOf(" ") + 1, ss.indexOf(" ") + 2);
            String s2 = ss.substring(ss.indexOf(" ") + 3);
            if (!s1.equals("") && !s2.equals("")) {
                double d1 = Double.parseDouble(s1);
                double d2 = Double.parseDouble(s2);
                switch (op) {
                    case "+":
                        result = d1 + d2;
                        break;
                    case "-":
                        result = d1 - d2;
                        break;
                    case "×":
                        result = d1 * d2;
                        break;
                    case "÷": {
                        if (d2 == 0) {
                            edit.setText("不能除以零");
                            break;
                        }
                        result = d1 / d2 * 1.0;
                    }
                    break;
                }

                int r = (int) result;
                if (r == result) {
                    edit.setText("" + r);
                    ss = "" + r;
                } else {
                    edit.setText(result + "");
                    ss = "" + result;
                }

            }

        }
    }

}

这时我们可以预览应用程序运行时的界面:

接下来就可以用虚拟设备运行一下我们的应用:

依次检查上面三个地方,没问题后点击运行:

这是我们做好应用的图标,打开运行一下:

接下来进行真机运行,将手机连接到电脑,Android studio显示手机型号后点击运行:

打开安装到手机上的应用程序:

成功运行。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: 用Android studio实现简易计算器功能

本文链接: https://lsjlt.com/news/149284.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 用Android studio实现简易计算器功能
    用Android studio做一个简易计算器,供大家参考,具体内容如下 长话短说,先建立一个Android项目; 创建完成后打开activity_main.xml,构建我们的应...
    99+
    2024-04-02
  • Android studio如何实现简易的计算器功能
    这篇文章主要讲解了“Android studio如何实现简易的计算器功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android studio如何实现简易的计算器功能...
    99+
    2023-06-30
  • Android实现简易计算器功能
    本项目为大家分享了Android实现计算器功能的具体代码,供大家参考,具体内容如下 项目介绍 练手项目。能实现加减乘除及括号运算。 开发思路 界面布局  1.界面布...
    99+
    2024-04-02
  • Android实现简易计算功能
    本文实例为大家分享了Android实现简易计算功能的具体代码,供大家参考,具体内容如下 效果如图: activity_main.xml <?xml version...
    99+
    2024-04-02
  • Android Studio实现简易计算器设计
    本文实例为大家分享了Android Studio实现简易计算器的具体代码,供大家参考,具体内容如下 一、题目 1、如图所示(实际设计,类似此界面样式即可,全屏时,按钮将会纵向拉伸),...
    99+
    2024-04-02
  • android studio实现简易的计算器
    本文实例为大家分享了android studio实现简易计算器的具体代码,供大家参考,具体内容如下 先看效果图 基本功能:加,减,乘,除 核心代码实现 public class M...
    99+
    2024-04-02
  • Android Studio实现简单计算器功能
    本文实例为大家分享了Android Studio实现简单计算器功能的具体代码,供大家参考,具体内容如下 程序步骤: (1)在布局文件定义一些计算器界面的文本框,按钮等组件。 (...
    99+
    2022-06-06
    Android Studio studio Android
  • Android studio怎么制作简易计算器功能
    这篇文章主要介绍“Android studio怎么制作简易计算器功能”,在日常操作中,相信很多人在Android studio怎么制作简易计算器功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家...
    99+
    2023-06-30
  • Android Studio简易计算器
    目录 第一步,创建新项目 第二步,设计UI 第三步,实现计算逻辑 第四步,测试应用程序 随着移动互联网的普及,手机应用程序已经成为人们生活中不可或缺的一部分。计算器是一类被广泛使用的应用程序之一,因此学习如何开发一款简易的计算器应用程序是...
    99+
    2023-09-17
    android studio android
  • 【Android Studio】简易计算器
    简易计算器要求: 1,操作简单,易于掌握,界面简单。 2.方便进行加,减,乘,除等操作。数字保留小数点后两位。 3.包含小数点运算和输入回退功能。 4.能够进行多次叠加运算。 5.系统能够进行多次叠加...
    99+
    2023-09-21
    android studio python android
  • Android Studio实现简易计算器源码
    本文实例为大家分享了Android Studio实现简易计算器的具体代码,供大家参考,具体内容如下 效果图: 源码: 布局样式: <xml version="1.0" en...
    99+
    2024-04-02
  • Android Studio怎么实现简易计算器设计
    今天小编给大家分享一下Android Studio怎么实现简易计算器设计的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2023-06-30
  • Android Studio怎么实现简易计算器App
    本篇内容主要讲解“Android Studio怎么实现简易计算器App”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android Studio怎么实现简易计算器App”吧!...
    99+
    2023-06-30
  • android studio如何实现简易的计算器
    本篇内容主要讲解“android studio如何实现简易的计算器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“android studio如何实现简易的计算器”吧!先看效果...
    99+
    2023-06-30
  • Android Studio开发实现简单计算器功能
    本文实例为大家分享了Android Studio开发实现简单计算器的具体代码,供大家参考,具体内容如下 代码: activity_3.xml <xml version="1.0...
    99+
    2024-04-02
  • android studio实现简单的计算器小功能
    本文实例为大家分享了android studio实现简单计算器的具体代码,供大家参考,具体内容如下 布局: <xml version="1.0" encoding="utf-8...
    99+
    2024-04-02
  • python实现简易计算器功能
    本文实例为大家分享了python实现简易计算器功能的具体代码,供大家参考,具体内容如下 一、功能目标 用户输入一个类似  1-2*((60-30+(-40/5)*(9-2*...
    99+
    2024-04-02
  • Pyqt实现简易计算器功能
    本文实例为大家分享了Pyqt实现简易计算器的具体代码,供大家参考,具体内容如下 环境:pycharm、python3.7 首先用qtDesigner设计出如下界面。 再用pyUIC...
    99+
    2024-04-02
  • jQuery实现简易计算器功能
    jQuery制作一个简易计算器,供大家参考,具体内容如下 页面效果: 源码: <!DOCTYPE html> <html> <head>    ...
    99+
    2024-04-02
  • SpringMvc实现简易计算器功能
    用SpringMvc做一个简易计算器,供大家参考,具体内容如下 一 .domain类 package ssm1.domain; public class JiSuan {     ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作