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.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@color/white"
    tools:context="com.example.jisuanqi.MainActivity">
 
 
    <TextView
        android:id="@+id/screenshow"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:background="@android:color/white"
        android:textColor="@color/black"
        android:textSize="50sp"/>
 
 
    //各按键
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center">
 
 
            <Button
                android:layout_width="160dp"
                android:layout_height="80dp"
                android:text="÷"
                android:textSize="45sp"
                android:id="@+id/divide"
                />
            <Button
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:text="×"
                android:textSize="45sp"
                android:id="@+id/times" />
            <Button
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:text="C"
                android:textSize="40sp"
                android:id="@+id/button_C" />
        </LinearLayout>
 
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center">
 
            <Button
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:text="7"
                android:textSize="40sp"
                android:id="@+id/button_7" />
            <Button
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:text="8"
                android:textSize="40sp"
                android:id="@+id/button_8" />
            <Button
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:text="9"
                android:textSize="40sp"
                android:id="@+id/button_9" />
            <Button
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:text="+"
                android:textSize="40sp"
                android:id="@+id/button_add" />
 
        </LinearLayout>
 
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center">
 
            <Button
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:text="4"
                android:textSize="40sp"
                android:id="@+id/button_4" />
            <Button
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:text="5"
                android:textSize="40sp"
                android:id="@+id/button_5" />
            <Button
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:text="6"
                android:textSize="40sp"
                android:id="@+id/button_6" />
            <Button
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:text="-"
                android:textSize="50sp"
                android:id="@+id/button_minus" />
 
        </LinearLayout>
 
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center">

            <Button
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:text="1"
                android:textSize="40sp"
                android:id="@+id/button_1" />
            <Button
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:text="2"
                android:textSize="40sp"
                android:id="@+id/button_2" />
            <Button
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:text="3"
                android:textSize="40sp"
                android:id="@+id/button_3" />
            <Button
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:text="."
                android:textSize="45sp"
                android:id="@+id/button_dot" />
 
        </LinearLayout>
 
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center">
 
            <Button
                android:layout_width="160dp"
                android:layout_height="80dp"
                android:text="0"
                android:textSize="40sp"
                android:id="@+id/button_0" />

            <Button
                android:layout_width="160dp"
                android:layout_height="80dp"
                android:text="="
                android:textSize="45sp"
                android:id="@+id/button_equal" />
 
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

java代码:

package com.example.jisuanqi;
 
import android.support.v4.app.INotificationSideChannel;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.app.Activity;
import android.widget.TextView;
import android.widget.Toast;
 
public class MainActivity extends Activity  {
    private TextView windowshow;
    private Button   but_0,but_1,but_2,but_3,but_4,but_5,but_6,but_7,but_8,but_9,but_C,divide,
            multiply,but_add,but_minus,but_dot,but_equal;
    double first_num=0,second_num=0;
    double result=0;
    int operation=0;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        windowshow=(TextView)findViewById(R.id.screenshow);
        but_0=(Button)findViewById(R.id.button_0);
        but_0.setOnClickListener(new MyOnClickListener());
        but_1=(Button)findViewById(R.id.button_1);
        but_1.setOnClickListener(new MyOnClickListener());
        but_2=(Button)findViewById(R.id.button_2);
        but_2.setOnClickListener(new MyOnClickListener());
        but_3=(Button)findViewById(R.id.button_3);
        but_3.setOnClickListener(new MyOnClickListener());
        but_4=(Button)findViewById(R.id.button_4);
        but_4.setOnClickListener(new MyOnClickListener());
        but_5=(Button)findViewById(R.id.button_5);
        but_5.setOnClickListener(new MyOnClickListener());
        but_6=(Button)findViewById(R.id.button_6);
        but_6.setOnClickListener(new MyOnClickListener());
        but_7=(Button)findViewById(R.id.button_7);
        but_7.setOnClickListener(new MyOnClickListener());
        but_8=(Button)findViewById(R.id.button_8);
        but_8.setOnClickListener(new MyOnClickListener());
        but_9=(Button)findViewById(R.id.button_9);
        but_9.setOnClickListener(new MyOnClickListener());
        but_add=(Button)findViewById(R.id.button_add);
        but_add.setOnClickListener(new MyOnClickListener());
        but_C=(Button)findViewById(R.id.button_C);
        but_C.setOnClickListener(new MyOnClickListener());
        divide=(Button)findViewById(R.id.divide);
        divide.setOnClickListener(new MyOnClickListener());
        but_dot=(Button)findViewById(R.id.button_dot);
        but_dot.setOnClickListener(new MyOnClickListener());
        but_equal=(Button)findViewById(R.id.button_equal);
        but_equal.setOnClickListener(new MyOnClickListener());
        but_minus=(Button)findViewById(R.id.button_minus);
        but_minus.setOnClickListener(new MyOnClickListener());
        multiply=(Button)findViewById(R.id.times);
        multiply.setOnClickListener(new MyOnClickListener());
    }
 
    class MyOnClickListener implements  View.OnClickListener{
        public void onClick(View v){
            switch (v.getId()){
                case R.id.button_C:
                    windowshow.setText(null);
                    break;
                case R.id.button_0:
                    String str0=windowshow.getText().toString();
                    str0+="0";
                    windowshow.setText(str0);
                    break;
                case R.id.button_1:
                    String str1=windowshow.getText().toString();
                    str1+="1";
                    windowshow.setText(str1);
                    break;
                case R.id.button_2:
                    String str2=windowshow.getText().toString();
                    str2+="2";
                    windowshow.setText(str2);
                    break;
                case R.id.button_3:
                    String str3=windowshow.getText().toString();
                    str3+="3";
                    windowshow.setText(str3);
                    break;
                case R.id.button_4:
                    String str4=windowshow.getText().toString();
                    str4+="4";
                    windowshow.setText(str4);
                    break;
                case R.id.button_5:
                    String str5=windowshow.getText().toString();
                    str5+="5";
                    windowshow.setText(str5);
                    break;
                case R.id.button_6:
                    String str6=windowshow.getText().toString();
                    str6+="6";
                    windowshow.setText(str6);
                    break;
                case R.id.button_7:
                    String str7=windowshow.getText().toString();
                    str7+="7";
                    windowshow.setText(str7);
                    break;
                case R.id.button_8:
                    String str8=windowshow.getText().toString();
                    str8+="8";
                    windowshow.setText(str8);
                    break;
                case R.id.button_9:
                    String str9=windowshow.getText().toString();
                    str9+="9";
                    windowshow.setText(str9);
                    break;
                case R.id.button_dot:
                    String strdot=windowshow.getText().toString();
                    strdot+=".";
                    windowshow.setText(strdot);
                    break;
                case R.id.button_add:
                    String stradd=windowshow.getText().toString();
                    if(stradd.equals(null)){
                        return;
                    }
                    first_num=Double.valueOf(stradd);
                    stradd+="+";
                    windowshow.setText(null);
                    operation=1;
                    break;
                case R.id.button_minus:
                    String strminus=windowshow.getText().toString();
                    if(strminus.equals(null)){
                        return;
                    }
                    first_num=Double.valueOf(strminus);
                    strminus+="-";
                    windowshow.setText(null);
                    operation=2;
                    break;
                case R.id.times:
                    String strmultiply=windowshow.getText().toString();
                    if(strmultiply.equals(null)){
                        return;
                    }
                    first_num=Double.valueOf(strmultiply);
                    strmultiply+="*";
                    windowshow.setText(null);
                    operation=3;
                    break;
                case R.id.divide:
                    String strdivide=windowshow.getText().toString();
                    if(strdivide.equals(null)){
                        return;
                    }
                    first_num=Double.valueOf(strdivide);
                    strdivide+="/";
                    windowshow.setText(null);
                    operation=4;
                    break;
                case R.id.button_equal:
                    String strequ=windowshow.getText().toString();
                    second_num=Double.valueOf(strequ);
                    // windowshow.setText(null);
                    switch (operation){
                        case 1:
                            result=first_num+second_num;
                            windowshow.setText(String.valueOf(first_num)+"+"+String.valueOf(second_num)+"="+String.valueOf(result));
                            break;
                        case 2:
                            result=first_num-second_num;
                            windowshow.setText(String.valueOf(first_num)+"-"+String.valueOf(second_num)+"="+String.valueOf(result));
                            break;
                        case 3:
                            result=first_num*second_num;
                            windowshow.setText(String.valueOf(first_num)+"×"+String.valueOf(second_num)+"="+String.valueOf(result));
                            break;
                        case 4:
                            if(second_num==0){
                                windowshow.setText("被除数不能为0!");
                            }
                            else {
                                result = first_num / second_num;
                                windowshow.setText(String.valueOf(first_num) + "÷" + String.valueOf(second_num) + "=" + String.valueOf(result));
                            }
                            break;
                        case 5:
                            result=first_num/100;
                            windowshow.setText(String.valueOf(first_num) + "%" +"="+String.valueOf(result));
                            break;
 
                        default:
                            result=0;
                            break;
                    }
            }
 
        }
    }
}

效果图:

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

(0)

相关推荐

  • android studio实现计算器

    本文实例为大家分享了android studio实现计算器的具体代码,供大家参考,具体内容如下 效果图: 资源文件: color.xml <?xml version="1.0" encoding="utf-8"?> <resources> <color name="colorPrimary">#3F51B5</color> <color name="colorPrimaryDark&

  • 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.and

  • 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开发实现计算器功能

    Android移动开发实现简单计算器功能,供大家参考,具体内容如下 前言 android 开发小实验android 移动开发实现 简易计算器功能小白也能轻松上手,复制粘贴就可使用 使用工具 Android Studio 或者 intellij idea 首先体验一下结果 预览图 源码 前端页面布局 activity_calculator.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout

  • Android studio实现简单计算器

    本文实例为大家分享了Android studio实现简单计算器的具体代码,供大家参考,具体内容如下 需求分析 在Android studio中设计并实现一个简单的计算器,实现连续的加减乘除运算. 界面设计 采用网格GridLayout布局,设计了一个6行4列的网格,最上边是一个EditText用来显示用户输入的运算数字和运算符,以及相关的运算结果,其占4列,文本框大小为50dip:依次往下的界面分别设置了数字和运算符以及操作的按钮,各行各列的每个按钮的大小均设为26sp. 编程分析 设计了两个文

  • 用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开发实现简单计算器的具体代码,供大家参考,具体内容如下 代码: activity_3.xml <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android&qu

  • 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:app="http://schemas.andro

  • Android Studio实现简易计算器

    如果是制作简易计算器的话是基本没有难点的,供大家参考,具体内容如下 步骤是先写好界面布局,将按钮的布局.字号颜色啥的做好,再就是设置监听器. 使用了NoTitleBar的主题 代码如下: activity_main里关于界面的代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/a

随机推荐