iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android studio实现简单计算器的编写
  • 639
分享到

Android studio实现简单计算器的编写

2024-04-02 19:04:59 639人浏览 泡泡鱼
摘要

本文实例为大家分享了Android studio实现简单计算器的具体代码,供大家参考,具体内容如下 话不多说,首先附上代码: MainActivity.java package co

本文实例为大家分享了Android studio实现简单计算器的具体代码,供大家参考,具体内容如下

话不多说,首先附上代码:

MainActivity.java

package com.example.calculator;

import androidx.appcompat.app.AppCompatActivity;

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

import java.util.Stack;

public class MainActivity extends AppCompatActivity {

    EditText edit = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        edit = findViewById(R.id.edit_textview);
    }

    public void btnClick(View view) {
        switch (view.getId()){
            case R.id.btn0:
                edit.append("0");
                break;
            case R.id.btn1:
                edit.append("1");
                break;
            case R.id.btn2:
                edit.append("2");
                break;
            case R.id.btn3:
                edit.append("3");
                break;
            case R.id.btn4:
                edit.append("4");
                break;
            case R.id.btn5:
                edit.append("5");
                break;
            case R.id.btn6:
                edit.append("6");
                break;
            case R.id.btn7:
                edit.append("7");
                break;
            case R.id.btn8:
                edit.append("8");
                break;
            case R.id.btn9:
                edit.append("9");
                break;
            case R.id.btnPlus:
                edit.append("+");
                break;
            case R.id.btnSubtract:
                edit.append("-");
                break;
            case R.id.btnMultiply:
                edit.append("*");
                break;
            case R.id.btnDivide:
                edit.append("/");
                break;
        }
    }

    public void btnEqual(View view) {
        String str = edit.getText().toString();//1+2
        String res="";
        //Java计算代码
        String result = calculate(str);
        edit.setText(result);
    }

    private static int number(char[] arr,int start,int end){
        StringBuilder buffer = new StringBuilder();
        for(int i=start;i<=end;i++){
            buffer.append(arr[i]);
        }
        return Integer.parseInt(buffer.toString());
    }
    // 待实现函数,在此函数中填入答题代码
    private static int comp(String op){
        if(op.equals("+") || op.equals("-"))
            return 1;
        if(op.equals("*") || op.equals("/"))
            return 2;
        return 0;
    }
    private static String compute(Integer a,Integer b,String op){
        Integer res;
        if(op.equals("+")) {
            res = a + b;
            return res.toString();
        }
        if (op.equals("-")) {
            res= a - b;
            return res.toString();
        }
        if (op.equals("*")) {
            res = a * b;
            return res.toString();
        }
        if (op.equals("/") && b!=0) {
            res= a / b;
            return res.toString();
        }else{
            return "error";
        }
    }
    private static String calculate(String source) {
        Stack<Integer> numbers=new Stack<>();
        Stack<String> operator=new Stack<>();
        operator.push(".");
        char[] exps=source.toCharArray();
        int start=0;
        if(exps[0]=='-') numbers.push(0);
        for(int j=0;j<exps.length;j++){
            if(exps[j]=='+' || exps[j]=='*' || exps[j]=='/' || exps[j]=='-'){
                if (start <= j - 1) {
                    numbers.push(number(exps,start,j-1));
                }
                start=j+1;
                while (comp(operator.peek())>=comp(String.valueOf(exps[j]))){
                    Integer two=numbers.peek();numbers.pop();
                    Integer one=numbers.peek();numbers.pop();
                    String result=compute(one,two,operator.peek());operator.pop();
                    if (result.equals("error")) {
                        return result;
                    }
                    numbers.push(Integer.parseInt(result));
                }
                operator.push(String.valueOf(exps[j]));
            }
        }
        numbers.push(number(exps,start,exps.length-1));
        while (operator.size()>1){
            Integer two=numbers.peek();numbers.pop();
            Integer one =numbers.peek();numbers.pop();
            String op=operator.peek();operator.pop();
            String value = compute(one, two, op);
            if (value.equals("error")) {
                return value;
            }
            numbers.push(Integer.parseInt(value));
        }
        return numbers.peek().toString();
    }


    public void btnClear(View view) {
        edit.setText("");
    }
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="Http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <EditText
        android:id="@+id/edit_textview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:stretchColumns="0,1,2,3">

        <TableRow>

            <Button
                android:id="@+id/btn7"
                android:layout_height="match_parent"
                android:onClick="btnClick"
                android:text="7" />
            <Button
                android:id="@+id/btn8"
                android:text="8"
                android:onClick="btnClick"/>
            <Button
                android:id="@+id/btn9"
                android:text="9"
                android:onClick="btnClick"/>
            <Button
                android:id="@+id/btnDivide"
                android:text="÷"
                android:onClick="btnClick"/>
        </TableRow>

        <TableRow>
            <Button
                android:id="@+id/btn4"
                android:text="4"
                android:onClick="btnClick"/>
            <Button
                android:id="@+id/btn5"
                android:text="5"
                android:onClick="btnClick"/>
            <Button
                android:id="@+id/btn6"
                android:text="6"
                android:onClick="btnClick"/>
            <Button
                android:id="@+id/btnMultiply"
                android:text="×"
                android:onClick="btnClick"/>
        </TableRow>

        <TableRow>
            <Button
                android:id="@+id/btn1"
                android:text="1"
                android:onClick="btnClick"/>
            <Button
                android:id="@+id/btn2"
                android:text="2"
                android:onClick="btnClick"/>
            <Button
                android:id="@+id/btn3"
                android:text="3"
                android:onClick="btnClick"/>
            <Button
                android:id="@+id/btnSubtract"
                android:text="-"
                android:onClick="btnClick"/>
        </TableRow>

        <TableRow>
            <Button
                android:id="@+id/btnClear"
                android:text="C"
                android:onClick="btnClear"/>
            <Button
                android:id="@+id/btn0"
                android:text="0"
                android:onClick="btnClick"/>
            <Button
                android:id="@+id/btnEqual"
                android:text="="
                android:onClick="btnEqual"/>
            <Button
                android:id="@+id/btnPlus"
                android:text="+"
                android:onClick="btnClick"/>
        </TableRow>
    </TableLayout>

</LinearLayout>

计算器界面:

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

--结束END--

本文标题: Android studio实现简单计算器的编写

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android studio实现简单计算器的编写
    本文实例为大家分享了Android studio实现简单计算器的具体代码,供大家参考,具体内容如下 话不多说,首先附上代码: MainActivity.java package co...
    99+
    2022-11-13
  • Android studio实现简单计算器
    本文实例为大家分享了Android studio实现简单计算器的具体代码,供大家参考,具体内容如下 需求分析 在Android studio中设计并实现一个简单的计算器,实现连...
    99+
    2022-06-06
    Android Studio studio Android
  • Android Studio实现简单计算器APP
    一、简介:用Android Studio 实现一个简单的计算器APP,并在蓝叠模拟器中运行。 该计算器只能实现两位数字的四则运算。 二、代码 activity_mai...
    99+
    2022-06-06
    Android Studio studio app Android
  • Android Studio实现简单计算器功能
    本文实例为大家分享了Android Studio实现简单计算器功能的具体代码,供大家参考,具体内容如下 程序步骤: (1)在布局文件定义一些计算器界面的文本框,按钮等组件。 (...
    99+
    2022-06-06
    Android Studio studio Android
  • Android Studio实现简单计算器开发
    本文实例为大家分享了Android Studio实现简单计算器开的具体代码,供大家参考,具体内容如下 效果展示: 路径和文件: AndroidManifest.xml <...
    99+
    2022-11-13
  • android studio实现简单的计算器小功能
    本文实例为大家分享了android studio实现简单计算器的具体代码,供大家参考,具体内容如下 布局: <xml version="1.0" encoding="utf-8...
    99+
    2022-11-13
  • Android Studio开发实现简单计算器功能
    本文实例为大家分享了Android Studio开发实现简单计算器的具体代码,供大家参考,具体内容如下 代码: activity_3.xml <xml version="1.0...
    99+
    2022-11-13
  • android studio实现简易的计算器
    本文实例为大家分享了android studio实现简易计算器的具体代码,供大家参考,具体内容如下 先看效果图 基本功能:加,减,乘,除 核心代码实现 public class M...
    99+
    2022-11-13
  • Android Studio实现简易计算器设计
    本文实例为大家分享了Android Studio实现简易计算器的具体代码,供大家参考,具体内容如下 一、题目 1、如图所示(实际设计,类似此界面样式即可,全屏时,按钮将会纵向拉伸),...
    99+
    2022-11-13
  • android studio怎么实现简单的计算器小功能
    这篇文章主要介绍了android studio怎么实现简单的计算器小功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇android studio怎么实现简单的计算器小功能文章都会有所收获,...
    99+
    2023-06-30
  • Android实现简单计算器
    本文实例为大家分享了Android实现简单计算器的具体代码,供大家参考,具体内容如下 功能 1、加减乘除四则运算 2、归0 3、回退 4、即时运算 配置 在build.gradle...
    99+
    2022-11-12
  • android studio 项目 :UI设计高精度实现简单计算器
    UI设计: 实验目的: 自主完成一个简单APP的设计工作,综合应用已经学到的Android UI设计技巧,重点注意合理使用布局。实验要求: 1.完成一个计算器的设计,可以以手机自带的...
    99+
    2022-11-12
  • android studio如何实现简易的计算器
    本篇内容主要讲解“android studio如何实现简易的计算器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“android studio如何实现简易的计算器”吧!先看效果...
    99+
    2023-06-30
  • Android Studio实现简易计算器源码
    本文实例为大家分享了Android Studio实现简易计算器的具体代码,供大家参考,具体内容如下 效果图: 源码: 布局样式: <xml version="1.0" en...
    99+
    2022-11-13
  • Android Studio怎么实现简易计算器设计
    今天小编给大家分享一下Android Studio怎么实现简易计算器设计的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2023-06-30
  • Android Studio制作一个简单的计算器APP
    虽然现在我们日常生活中很少用到计算器,但是第一次尝试在Android Studio上做一个计算器 程序设计步骤: (1)在布局文件中声明编辑文件框EditText,按钮Button等组件。 (2)在MainActivity中获取组件实例。 ...
    99+
    2023-10-03
    android android studio
  • 用Android studio实现简易计算器功能
    用Android studio做一个简易计算器,供大家参考,具体内容如下 长话短说,先建立一个Android项目; 创建完成后打开activity_main.xml,构建我们的应...
    99+
    2022-11-13
  • Android Studio怎么实现简易计算器App
    本篇内容主要讲解“Android Studio怎么实现简易计算器App”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android Studio怎么实现简易计算器App”吧!...
    99+
    2023-06-30
  • Android Studio:一个简单的计算器app的实现过程<初级>
    📌Android Studio 专栏正在持续更新中,案例的原理图解析、各种模块分析💖这里都有哦,同时也欢迎大家订阅专栏,获取更多详细信息哦✊✊✊ ✨个人主页:零小唬...
    99+
    2023-10-10
    android studio android java
  • Android studio编写简单的手电筒APP
    很不错的手电筒APP,分享给大家,希望大家喜欢。 1. Java代码     package com.example.goo.gf...
    99+
    2022-06-06
    Android Studio studio app Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作