博客
关于我
最简单 最快速 地在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/

你可能感兴趣的文章
node安装卸载linux,Linux运维知识之linux 卸载安装node npm
查看>>
node安装及配置之windows版
查看>>
Node实现小爬虫
查看>>
Node提示:error code Z_BUF_ERROR,error error -5,error zlib:unexpected end of file
查看>>
Node提示:npm does not support Node.js v12.16.3
查看>>
Node搭建静态资源服务器时后缀名与响应头映射关系的Json文件
查看>>
Node服务在断开SSH后停止运行解决方案(创建守护进程)
查看>>
node模块化
查看>>
node模块的本质
查看>>
node环境下使用import引入外部文件出错
查看>>
node环境:Error listen EADDRINUSE :::3000
查看>>
Node的Web应用框架Express的简介与搭建HelloWorld
查看>>
Node第一天
查看>>
node编译程序内存溢出
查看>>
Node读取并输出txt文件内容
查看>>
node防xss攻击插件
查看>>
noi 1996 登山
查看>>
noi 7827 质数的和与积
查看>>
NOI-1.3-11-计算浮点数相除的余数
查看>>
noi.ac #36 模拟
查看>>