Android Studio实现简易计算器App (Java语言版)

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

效果演示

布局文件

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

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="2"
        android:orientation="vertical">
        <TextView
            android:id="@+id/mini"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="40dp"
            android:text=""
            android:textDirection="rtl"/>
        <TextView
            android:id="@+id/max"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="100dp"
            android:text=""
            android:textDirection="rtl"/>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="horizontal">
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="%"
                android:textSize="30dp"
                android:onClick="surplus"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="CE"
                android:textSize="30dp"
                android:onClick="clearce"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="C"
                android:textSize="30dp"
                android:onClick="clearc"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="⇦"
                android:textSize="30dp"
                android:onClick="backsprce"/>
        </LinearLayout>

    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="horizontal">
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="1/x"
                android:textSize="30dp"
                android:onClick="reciprocal"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="x²"
                android:textSize="30dp"
                android:onClick="square"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="²√x"
                android:textSize="30dp"
                android:onClick="squareroot"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="÷"
                android:textSize="60dp"
                android:onClick="division"/>
        </LinearLayout>

    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="horizontal">
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="7"
                android:textSize="30dp"
                android:onClick="number_7"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="8"
                android:textSize="30dp"
                android:onClick="number_8"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="9"
                android:textSize="30dp"
                android:onClick="number_9"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="×"
                android:textSize="30dp"
                android:onClick="multiplication"/>
        </LinearLayout>

    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="horizontal">
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="4"
                android:textSize="30dp"
                android:onClick="number_4"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="5"
                android:textSize="30dp"
                android:onClick="number_5"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="6"
                android:textSize="30dp"
                android:onClick="number_6"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="-"
                android:textSize="30dp"
                android:onClick="subtraction"/>
        </LinearLayout>

    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="horizontal">
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="1"
                android:textSize="30dp"
                android:onClick="number_1"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="2"
                android:textSize="30dp"
                android:onClick="number_2"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="3"
                android:textSize="30dp"
                android:onClick="number_3"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="+"
                android:textSize="30dp"
                android:onClick="addition"/>
        </LinearLayout>

    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="horizontal">
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="±"
                android:textSize="30dp"
                android:onClick="change"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="0"
                android:textSize="30dp"
                android:onClick="number_0"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="."
                android:textSize="30dp"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="="
                android:textSize="30dp"
                android:onClick="equal"/>
        </LinearLayout>

    </LinearLayout>

</LinearLayout>

Java文件

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

import androidx.annotation.Nullable;

public class MainActivity extends Activity {

    private TextView tv1;
    private TextView tv2;
    private StringBuilder viewStr;
    private int index = 0;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_calc);
        tv1 = (TextView) findViewById(R.id.mini);
        tv2 = (TextView) findViewById(R.id.max);
        viewStr = new StringBuilder();
        index = 0;
    }

    //加减乘除、求余简单运算方法
    public String calc(StringBuilder strB) {
        String allS = strB.toString();
        String[] asmd = {"+","-","×","÷","%"};
        int x = 0; int y = 0;
        String result = null;
        for (int i = 0; i < 5; i ++) {
            int inde = strB.indexOf(asmd[i]);
            if (inde > 0) {
                String a = allS.split(asmd[i])[0];
                String b = allS.split(asmd[i])[1];
                if (i == 0) {result = String.valueOf(Integer.parseInt(a) + Integer.parseInt(b));}
                if (i == 1) {result = String.valueOf(Integer.parseInt(a) - Integer.parseInt(b));}
                if (i == 2) {result = String.valueOf(Integer.parseInt(a) * Integer.parseInt(b));}
                if (i == 3) {
                    if (Integer.parseInt(b) == 0) {
                        Toast.makeText(this,"0不能为除数",Toast.LENGTH_SHORT).show();
                        result = String.valueOf(Integer.parseInt(a));
                    }else {
                        result = String.valueOf(Integer.parseInt(a) / Integer.parseInt(b));
                    }
                }
                if (i == 4) {result = String.valueOf(Integer.parseInt(a) % Integer.parseInt(b));}
            }
        }
        return result;
    }

    //数字按钮事件
    public void number_0(View view) { viewStr.append("0"); index ++ ; tv2.setText(viewStr); }
    public void number_1(View view) { viewStr.append("1"); index ++ ; tv2.setText(viewStr); }
    public void number_2(View view) { viewStr.append("2"); index ++ ; tv2.setText(viewStr); }
    public void number_3(View view) { viewStr.append("3"); index ++ ; tv2.setText(viewStr); }
    public void number_4(View view) { viewStr.append("4"); index ++ ; tv2.setText(viewStr); }
    public void number_5(View view) { viewStr.append("5"); index ++ ; tv2.setText(viewStr); }
    public void number_6(View view) { viewStr.append("6"); index ++ ; tv2.setText(viewStr); }
    public void number_7(View view) { viewStr.append("7"); index ++ ; tv2.setText(viewStr); }
    public void number_8(View view) { viewStr.append("8"); index ++ ; tv2.setText(viewStr); }
    public void number_9(View view) { viewStr.append("9"); index ++ ; tv2.setText(viewStr); }

    //回退按钮事件
    public void backsprce(View view) {
        if (viewStr.length() == 0) return;
        index = viewStr.length();
        viewStr.deleteCharAt(--index); tv2.setText(viewStr);
    }

    //符号改变按钮事件
    public void change(View view) {
        String allS = viewStr.toString();
        String[] asmd = {"+","-","×","÷","%"};
        int inde = 0;
        String a = null;    //保存字符串中运算符部分
        String b = null;    //保存字符串中数字部分
        for (int i = 0; i < 5; i ++) {
            inde = viewStr.indexOf(asmd[i]);
            if (inde != -1) {
                a = asmd[i];
                break;
            }
        }
        //A 字符形 改变 A 正负值
        if (inde == -1) {
            clearc(view);
            int c = - Integer.parseInt(allS);
            viewStr.append(String.valueOf(c));
            index = String.valueOf(c).length();
            tv2.setText(viewStr);
        }
        //A + 字符串形 改变 A 正负值 暂时无法实现,待后续优化
        if (inde == index - 1) {
            return;
//            clearc(view);
//            int c = - Integer.valueOf(allS.split(a)[0]);
//            viewStr.append(String.valueOf(c));
//            index = String.valueOf(c).length();
//            tv2.setText(viewStr);
        }
        //A + B 字符串形 改变 B 正负值
        if (inde >= 0 && inde < index) {
            clearc(view);
            b = allS.split(a)[0];
            int c = - Integer.parseInt(allS.split(a)[1]);
            viewStr.append(b).append(a).append(String.valueOf(c));
            index = String.valueOf(c).length();
            tv2.setText(viewStr);
        }
    }

    //清空按钮事件
    public void clearc(View view) {
        StringBuilder temp = new StringBuilder();
        viewStr = temp.append("");
        tv2.setText(viewStr);
        index = 0;
    }
    public void clearce(View view) {
        StringBuilder temp = new StringBuilder();
        viewStr = temp.append("");
        tv1.setText("");
        tv2.setText(viewStr);
        index = 0;
    }

    //等于按钮事件
    public void equal(View view) {
        String[] asmd = {"+","-","×","÷","%"};
        StringBuilder temp = new StringBuilder();
        for (int i = 0; i < 5; i ++) {
            int inde = viewStr.indexOf(asmd[i]);
            if (inde > 0 && inde != index-1) {
                tv1.setText(calc(viewStr));
                String a = calc(viewStr);
                viewStr = temp.append(a);
                tv2.setText(viewStr);
                index = viewStr.length();
                return;
            }else if (inde > 0 && inde == index-1) {
                viewStr.deleteCharAt(--index);
                tv1.setText(viewStr);
                tv2.setText(viewStr);
            }
        }
        tv1.setText(viewStr);
        tv2.setText(viewStr);
    }

    //加减乘除按钮事件
    public void addition(View view) {
        if (viewStr.length() == 0) return;
        String[] asmd = {"+","-","×","÷","%"};
        StringBuilder temp = new StringBuilder();
        for (int i = 0; i < 5; i ++) {
            int inde = viewStr.indexOf(asmd[i]);
            if (inde > 0 && viewStr.charAt(index-1) >= '0' && viewStr.charAt(index-1) <= '9') {
                tv1.setText(calc(viewStr));
                String a = calc(viewStr);
                viewStr = temp.append(a).append('+');
                tv2.setText(viewStr);
                index = viewStr.length();
                return;
            }
        }
        char a = viewStr.charAt(index-1);
        if (a == '+') { return; }
        if (a == '-' || a == '×' || a == '÷' || a == '%') {
            viewStr.setCharAt(index-1,'+');
        }else {
            viewStr.append("+");
            index ++ ;
        }
        tv2.setText(viewStr);
    }
    public void subtraction(View view) {
        if (viewStr.length() == 0) return;
        String[] asmd = {"+","-","×","÷","%"};
        StringBuilder temp = new StringBuilder();
        for (int i = 0; i < 5; i ++) {
            int inde = viewStr.indexOf(asmd[i]);
            if (inde > 0 && viewStr.charAt(index-1) >= '0' && viewStr.charAt(index-1) <= '9') {
                tv1.setText(calc(viewStr));
                String a = calc(viewStr);
                viewStr = temp.append(a).append('-');
                tv2.setText(viewStr);
                index = viewStr.length();
                return;
            }
        }
        char a = viewStr.charAt(index-1);
        if (a == '-') { return; }
        if (a == '+' || a == '×' || a == '÷' || a == '%') {
            viewStr.setCharAt(index-1,'-');
        }else {
            viewStr.append("-");
            index ++ ;
        }
        tv2.setText(viewStr);
    }
    public void multiplication(View view) {
        if (viewStr.length() == 0) return;
        String[] asmd = {"+","-","×","÷","%"};
        StringBuilder temp = new StringBuilder();
        for (int i = 0; i < 5; i ++) {
            int inde = viewStr.indexOf(asmd[i]);
            if (inde > 0 && viewStr.charAt(index-1) >= '0' && viewStr.charAt(index-1) <= '9') {
                tv1.setText(calc(viewStr));
                String a = calc(viewStr);
                viewStr = temp.append(a).append('×');
                tv2.setText(viewStr);
                index = viewStr.length();
                return;
            }
        }
        char a = viewStr.charAt(index-1);
        if (a == '×') { return; }
        if (a == '+' || a == '-' || a == '÷' || a == '%') {
            viewStr.setCharAt(index-1,'×');
        }else {
            viewStr.append("×");
            index ++ ;
        }
        tv2.setText(viewStr);
    }
    public void division(View view) {
        if (viewStr.length() == 0) return;
        String[] asmd = {"+","-","×","÷","%"};
        StringBuilder temp = new StringBuilder();
        for (int i = 0; i < 5; i ++) {
            int inde = viewStr.indexOf(asmd[i]);
            if (inde > 0 && viewStr.charAt(index-1) >= '0' && viewStr.charAt(index-1) <= '9') {
                tv1.setText(calc(viewStr));
                String a = calc(viewStr);
                viewStr = temp.append(a).append('÷');
                tv2.setText(viewStr);
                index = viewStr.length();
                return;
            }
        }
        char a = viewStr.charAt(index-1);
        if (a == '÷') { return; }
        if (a == '+' || a == '-' || a == '×' || a == '%') {
            viewStr.setCharAt(index-1,'÷');
        }else {
            viewStr.append("÷");
            index ++ ;
        }
        tv2.setText(viewStr);
    }

    //求余按钮事件
    public void surplus(View view) {
        if (viewStr.length() == 0) return;
        String[] asmd = {"+","-","×","÷","%"};
        StringBuilder temp = new StringBuilder();
        for (int i = 0; i < 5; i ++) {
            int inde = viewStr.indexOf(asmd[i]);
            if (inde > 0 && viewStr.charAt(index-1) >= '0' && viewStr.charAt(index-1) <= '9') {
                tv1.setText(calc(viewStr));
                String a = calc(viewStr);
                viewStr = temp.append(a).append('%');
                tv2.setText(viewStr);
                index = viewStr.length();
                return;
            }
        }
        char a = viewStr.charAt(index-1);
        if (a == '%') { return; }
        if (a == '+' || a == '-' || a == '×' || a == '÷') {
            viewStr.setCharAt(index-1,'%');
        }else {
            viewStr.append("%");
            index ++ ;
        }
        tv2.setText(viewStr);
    }

    //求倒数按钮事件
    public void reciprocal(View view) {
        if (viewStr.length() == 0) return;
        String[] asmd = {"+","-","×","÷","%"};
        for (int i = 0; i < 5; i ++) {
            int inde = viewStr.indexOf(asmd[i]);
            if (inde > -1) { return; }
        }
        int a = Integer.parseInt(viewStr.toString().trim());
        if (a == 0) {
            Toast.makeText(this,"0不能为除数",Toast.LENGTH_SHORT).show();
            return;
        }
        clearc(view);
        viewStr.append(1/a);
        index = String.valueOf(1/a).length();
        tv2.setText(viewStr);
    }

    //平方按钮事件
    public void square(View view) {
        if (viewStr.length() == 0) return;
        String[] asmd = {"+","-","×","÷","%"};
        for (int i = 0; i < 5; i ++) {
            int inde = viewStr.indexOf(asmd[i]);
            if (inde > -1) { return; }
        }
        int a = Integer.parseInt(viewStr.toString().trim());
        clearc(view);
        viewStr.append(a*a);
        index = String.valueOf(a*a).length();
        tv2.setText(viewStr);
    }

    //开平方按钮事件
    public void squareroot(View view) {
        if (viewStr.length() == 0) return;
        String[] asmd = {"+","-","×","÷","%"};
        for (int i = 0; i < 5; i ++) {
            int inde = viewStr.indexOf(asmd[i]);
            if (inde > -1) { return; }
        }
        int a = Integer.parseInt(viewStr.toString().trim());
        clearc(view);
        viewStr.append((int)Math.sqrt(a));
        index = String.valueOf((int)Math.sqrt(a)).length();
        tv2.setText(viewStr);
    }

}

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

(0)

相关推荐

  • Android Studio实现简单计算器功能

    本文实例为大家分享了Android Studio实现简单计算器功能的具体代码,供大家参考,具体内容如下 程序步骤: (1)在布局文件定义一些计算器界面的文本框,按钮等组件. (2)在Activity中获取组件实例. (3)通过swtich函数,判断输入的内容,并进行相应操作,通过getText()获取文本内容,setText()显示. 程序代码设计: 一.界面布局 参考书本例2-9,应用网格布局设计计算器界面,在设计区域设置一个6行4列的网格布局,第一行为显示数据的文本标签,第二行为清除数据的按

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

    用Android studio做一个简易计算器,供大家参考,具体内容如下 长话短说,先建立一个Android项目: 创建完成后打开activity_main.xml,构建我们的应用界面,输入以下代码: <?xml version="1.0" encoding="utf-8"?> <GridLayout  xmlns:android="http://schemas.android.com/apk/res/android"    

  • Android studio实现简单的计算器

    本文实例为大家分享了Android studio实现简单计算器的具体代码,供大家参考,具体内容如下 需求分析及概要设计 目的 开发一个简单的计算器App,使之能够完成加减乘除混合运算 工具及环境 使用java语言,在Android studio平台上进行开发 功能设计 "+":实现两数相加 "-":实现两数相减 "*":实现两数相乘 "/":实现两数相除 "=":计算并得出正确结果 "C"

  • Android Studio实现带三角函数对数运算功能的高级计算器

    用AndroidStudio编写高级计算器带三角函数对数运算功能 界面效果图: layout布局 activity_jisuanqi.xml代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="

  • Android Studio实现简易计算器设计

    本文实例为大家分享了Android Studio实现简易计算器的具体代码,供大家参考,具体内容如下 一.题目 1.如图所示(实际设计,类似此界面样式即可,全屏时,按钮将会纵向拉伸),利用网格布局管理器设计一个居中.满屏计算器,项目名称:clc666b:(666,改成自己的实际编号) 2.加.乘分别用2个单选按钮进行选择: 3.为clc666b编写程序(clc666a不需要编程,只设计界面即可),根据选择的加(乘)单选按钮,实现两个数的加法和乘法的简单计算. 4.为了简化程序设计,上方的数据区也可

  • Android studio实现简易计算器App功能

    在Android studio实现简易计算器App并实现加减乘除功能,供大家参考,具体内容如下 结果 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"       android:layout_width="ma

  • Android Studio实现简易计算器(表格布局TableLayout)

    这是一个运用网格布局来做的简易计算器,可能没有那么美观,大家可以继续完善 首先先看看成果吧 首先先建一个新的Project Calculator 然后先编写颜色背景文件 创建一个gray.xml,哪里创建呢?如图 在drawable下右击,选择new–Drawable resource file 第一个是文件名字,第二个属性可以自己选择,我们这里前两个文件选择shape,第三个文件选selector,附上颜色背景代码 gray.xml <?xml version="1.0" en

  • android studio实现简单的计算器小功能

    本文实例为大家分享了android studio实现简单计算器的具体代码,供大家参考,具体内容如下 布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout     xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.c

  • android studio 项目 :UI设计高精度实现简单计算器

    UI设计: 实验目的: 自主完成一个简单APP的设计工作,综合应用已经学到的Android UI设计技巧,重点注意合理使用布局.实验要求: 1.完成一个计算器的设计,可以以手机自带的计算器为参考.设计过程中,注意考虑界面的美观性,不同机型的适应性,以及功能的完备性. 2.注意结合Activity的生命周期,考虑不同情况下计算器的界面状态. 3.如有余力,可以考虑实现一个高精度科学计算型的计算器. 实现效果: 整数和浮点数的加减乘除.取余.开根号,异号.清零 计算结果全部实现. 精度保留到小数点后

  • Android Studio实现简易进制转换计算器

    本文实例为大家分享了Android Studio实现简易进制转换计算器的具体代码,供大家参考,具体内容如下 1.问题描述 设计并实现一个数制转换器,能够对输入的任- -进制类型的数值转换为指定的数制类型的数值.必须实现的数制类型有二进制.八进制.十进制和十六进制四种. 2.基本要求 (1)使用Spinner 控件,列出四种数制类型,即:二进制.八进制.十进制和十六进制;(2)“数值”输入框,不使用Android系统提供的输入面板,进行数值输入;且只能是整数数值; 布局代码: <?xml vers

随机推荐