博客
关于我
最简单 最快速 地在Andriod studio上实现一个简易计算器 【eval () 函数】 ! ! !
阅读量:283 次
发布时间:2019-03-01

本文共 5372 字,大约阅读时间需要 17 分钟。

在Eclipse中使用JavaScript实现字符串运算

使用Eclipse中的JavaScript引擎实现字符串表达式计算

在Eclipse中,通过JavaScript引擎轻松实现字符串表达式的运算。我们可以利用eval()函数来执行JavaScript代码,从而实现复杂的数学运算。

安卓计算器开发实例

一、依赖管理

build.gradle中添加必要的依赖:

implementation 'io.apisense:rhino-android:1.1.1'

二、布局配置

activity_main.xml中定义布局:

三、功能实现

MainActivity.java中,通过JavaScript引擎实现计算器功能:

package com.example.cal;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class MainActivity extends AppCompatActivity {
private Button btnlim, btn0, btn1, btn2, btn3, btn4, btn5, btn6, btn7, btn8, btn9, btnp, btnadd, btnsub, btnmul, btndiv, btnequ;
private TextView in;
private String s = "", result = "";
ScriptEngine j = new ScriptEngineManager().getEngineByName("javascript");
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
in = (TextView) findViewById(R.id.input);
btnlim = (Button) findViewById(R.id.buttoneliminate);
btn0 = (Button) findViewById(R.id.button0);
btn1 = (Button) findViewById(R.id.button1);
btn2 = (Button) findViewById(R.id.button2);
btn3 = (Button) findViewById(R.id.button3);
btn4 = (Button) findViewById(R.id.button4);
btn5 = (Button) findViewById(R.id.button5);
btn6 = (Button) findViewById(R.id.button6);
btn7 = (Button) findViewById(R.id.button7);
btn8 = (Button) findViewById(R.id.button8);
btn9 = (Button) findViewById(R.id.button9);
btnp = (Button) findViewById(R.id.buttonpoint);
btnadd = (Button) findViewById(R.id.buttonadd);
btnsub = (Button) findViewById(R.id.buttonsub);
btnmul = (Button) findViewById(R.id.buttonmul);
btndiv = (Button) findViewById(R.id.buttondiv);
btnequ = (Button) findViewById(R.id.buttonequal);
btnlim.setOnClickListener(new mclick());
btn0.setOnClickListener(new mclick());
btn1.setOnClickListener(new mclick());
btn2.setOnClickListener(new mclick());
btn3.setOnClickListener(new mclick());
btn4.setOnClickListener(new mclick());
btn5.setOnClickListener(new mclick());
btn6.setOnClickListener(new mclick());
btn7.setOnClickListener(new mclick());
btn8.setOnClickListener(new mclick());
btn9.setOnClickListener(new mclick());
btnp.setOnClickListener(new mclick());
btnadd.setOnClickListener(new mclick());
btnsub.setOnClickListener(new mclick());
btnmul.setOnClickListener(new mclick());
btndiv.setOnClickListener(new mclick());
btnequ.setOnClickListener(new mclick());
}
class mclick implements OnClickListener {
public void onClick(View v) {
if (v == btnlim) {
s = "";
} else if (v == btnequ) {
try {
String t = s;
result = j.eval(t).toString();
s += "=" + result;
in.setText(s);
s = result;
} catch (ScriptException e) {
e.printStackTrace();
}
} else {
switch (v.getId()) {
case R.id.button0:
s += "0";
break;
case R.id.button1:
s += "1";
break;
case R.id.button2:
s += "2";
break;
case R.id.button3:
s += "3";
break;
case R.id.button4:
s += "4";
break;
case R.id.button5:
s += "5";
break;
case R.id.button6:
s += "6";
break;
case R.id.button7:
s += "7";
break;
case R.id.button8:
s += "8";
break;
case R.id.button9:
s += "9";
break;
case R.id.buttonpoint:
s += ".";
break;
case R.id.buttonadd:
s += "+";
break;
case R.id.buttonsub:
s += "-";
break;
case R.id.buttonmul:
s += "*";
break;
case R.id.buttondiv:
s += "/";
break;
}
in.setText(s);
}
}
}
}

通过以上代码,我们可以在Android Studio中轻松实现一个功能简单的计算器。用户可以通过点击数字和操作符来构建表达式,点击"="按钮即可查看计算结果。

转载地址:http://qaao.baihongyu.com/

你可能感兴趣的文章
MySQL5.6的zip包安装教程
查看>>
mysql5.7 for windows_MySQL 5.7 for Windows 解压缩版配置安装
查看>>
Webpack 基本环境搭建
查看>>
mysql5.7 安装版 表不能输入汉字解决方案
查看>>
MySQL5.7.18主从复制搭建(一主一从)
查看>>
MySQL5.7.19-win64安装启动
查看>>
mysql5.7.19安装图解_mysql5.7.19 winx64解压缩版安装配置教程
查看>>
MySQL5.7.37windows解压版的安装使用
查看>>
mysql5.7免费下载地址
查看>>
mysql5.7命令总结
查看>>
mysql5.7安装
查看>>
mysql5.7性能调优my.ini
查看>>
MySQL5.7新增Performance Schema表
查看>>
Mysql5.7深入学习 1.MySQL 5.7 中的新增功能
查看>>
Webpack 之 basic chunk graph
查看>>
Mysql5.7版本单机版my.cnf配置文件
查看>>
mysql5.7的安装和Navicat的安装
查看>>
mysql5.7示例数据库_Linux MySQL5.7多实例数据库配置
查看>>
Mysql8 数据库安装及主从配置 | Spring Cloud 2
查看>>
mysql8 配置文件配置group 问题 sql语句group不能使用报错解决 mysql8.X版本的my.cnf配置文件 my.cnf文件 能够使用的my.cnf配置文件
查看>>