软件编程
位置:首页>> 软件编程>> Android编程>> Android实现简易计算功能

Android实现简易计算功能

作者:青丝缠光阴  发布时间:2022-01-10 20:42:59 

标签:Android,计算

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

效果如图:

Android实现简易计算功能

activity_main.xml


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

<LinearLayout
       android:layout_width="match_parent"
       android:layout_height="wrap_content">

<TextView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_weight="1"
           android:text="操作数:"
           android:textSize="20sp" />

<EditText
           android:id="@+id/firstNum"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_weight="1"
           android:hint="请输入数值操作数"
           android:textStyle="bold"
           android:inputType="number" />
   </LinearLayout>

<LinearLayout
       android:layout_width="match_parent"
       android:layout_height="wrap_content">

<TextView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_weight="1"
           android:text="算术运算:"
           android:textSize="20sp">

</TextView>

<Spinner
           android:id="@+id/operator"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_weight="1"
           android:entries="@array/sign" />
   </LinearLayout>

<LinearLayout
       android:layout_width="match_parent"
       android:layout_height="wrap_content">

<TextView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_weight="1"
           android:text="操作数:"
           android:textSize="20sp" />

<EditText
           android:id="@+id/secondNum"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_weight="1"
           android:hint="请输入数值操作数"
           android:textStyle="bold"
           android:inputType="number" />
   </LinearLayout>

<LinearLayout
       android:layout_width="match_parent"
       android:layout_height="wrap_content">

<Button
           android:id="@+id/calc"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_weight="1"
           android:text="等于:" />

<TextView
           android:id="@+id/result"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_weight="5"
           android:hint="计算结果"
           android:padding="15dp"
           android:textColor="#F44336"
           android:textSize="25sp"
           android:textStyle="bold" />
   </LinearLayout>
</LinearLayout>

arrays.xml


<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string-array name="sign">
       <item>请选择运算符</item>
       <item>+</item>
       <item>-</item>
       <item>*</item>
       <item>/</item>
   </string-array>
</resources>

MainActivity


package com.jld.homework;

import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
   String op;

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

Spinner spinner = (Spinner) this.findViewById(R.id.operator);//获取活动布局中的Spinner对象
       //为Spinner注册内部 * 对象
       spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
           @Override
           public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
               //将Spinner选项的值赋值给成员变量op(保存算术运算符)
               op = ((TextView) view).getText().toString();
           }
           @Override
           public void onNothingSelected(AdapterView<?> parent) {
           }
       });

//各类组件
       Button calcButton = findViewById(R.id.calc);
       EditText firstNum = findViewById(R.id.firstNum);
       EditText secondNum = findViewById(R.id.secondNum);
       TextView result = findViewById(R.id.result);

//计算核心
       calcButton.setOnClickListener(v -> {
           switch (op) {
               case "+": {
                   double r = Double.parseDouble(firstNum.getText().toString()) + Double.parseDouble(secondNum.getText().toString());
                   result.setText(String.valueOf(r));
                   break;
               }
               case "-": {
                   double r = Double.parseDouble(firstNum.getText().toString()) - Double.parseDouble(secondNum.getText().toString());
                   result.setText(String.valueOf(r));
                   break;
               }
               case "*": {
                   double r = Double.parseDouble(firstNum.getText().toString()) * Double.parseDouble(secondNum.getText().toString());
                   result.setText(String.valueOf(r));
                   break;
               }
               case "/": {
                   double r = Double.parseDouble(firstNum.getText().toString()) / Double.parseDouble(secondNum.getText().toString());
                   result.setText(String.valueOf(r));
                   break;
               }
               default://非法情况报错
                   result.setText(R.string.ERROR);
                   break;
           }
       });
   }
}

来源:https://blog.csdn.net/UZDW_/article/details/117369694

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com