用androidstudio编写高级计算器带三角函数对数运算功能
上述就是android开发分享Android Studio实现带三角函数对数运算功能的高级计算器的全部内容,如果对大家有所用处且需要了解更多关于Android学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
界面效果图:
layout布局 activity_jisuanqi.xml代码:
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="https://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:padding="5dp" > <linearlayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="2" android:orientation="vertical" > <linearlayout android:layout_width="fill_parent" android:layout_height="100dp" android:layout_weight="1" android:orientation="vertical" android:paddingbottom="5dp" > <textview android:id="@+id/text0" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.2" android:gravity="right" android:scrollhorizontally="true" android:textcolor="#ff000000" android:textsize="25sp" /> <textview android:id="@+id/text1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:gravity="right" android:scrollhorizontally="true" android:text="0" android:textcolor="#ff000000" android:textsize="30sp" /> </linearlayout> <linearlayout android:layout_width="match_parent" android:layout_height="21dp" android:layout_weight="1" android:orientation="vertical" > </linearlayout> </linearlayout> <linearlayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:orientation="vertical"> <linearlayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:orientation="horizontal"> <button android:id="@+id/factorial" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="!" /> <button android:id="@+id/power" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="^" /> <button android:id="@+id/square_root" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="√" /> <button android:id="@+id/pai" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:textallcaps="false" android:text="π" /> <button android:id="@+id/c" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:textallcaps="false" android:text="c" android:textcolor="#ffff0000" /> </linearlayout> <linearlayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:orientation="horizontal"> <button android:id="@+id/sin" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:textallcaps="false" android:text="sin" /> <button android:id="@+id/brackets1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="(" /> <button android:id="@+id/brackets2" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text=")" /> <button android:id="@+id/e" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:textallcaps="false" android:text="e" /> <button android:id="@+id/del" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="del" /> </linearlayout> <linearlayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:orientation="horizontal"> <button android:id="@+id/cos" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:textallcaps="false" android:text="cos" /> <button android:id="@+id/seven" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="7" /> <button android:id="@+id/eight" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="8" /> <button android:id="@+id/nine" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="9" /> <button android:id="@+id/division" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="÷" /> </linearlayout> <linearlayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:orientation="horizontal"> <button android:id="@+id/tan" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:textallcaps="false" android:text="tan" /> <button android:id="@+id/four" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="4" /> <button android:id="@+id/five" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="5" /> <button android:id="@+id/six" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="6" /> <button android:id="@+id/multiple" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="×" /> </linearlayout> <linearlayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:orientation="horizontal"> <button android:id="@+id/ln" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:textallcaps="false" android:text="ln" /> <button android:id="@+id/one" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="1" /> <button android:id="@+id/two" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="2" /> <button android:id="@+id/three" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="3" /> <button android:id="@+id/subtract" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="-" /> </linearlayout> <linearlayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:orientation="horizontal"> <button android:id="@+id/log" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:textallcaps="false" android:text="log" /> <button android:id="@+id/zero" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="0" /> <button android:id="@+id/point" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="." /> <button android:id="@+id/add" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="+" /> <button android:id="@+id/eq" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="=" /> </linearlayout> </linearlayout> </linearlayout>
java类jisuanqiactivity代码:
package com.xueba.jsq; import android.app.activity; import android.os.bundle; import android.view.menu; import android.view.menuitem; import android.view.menuitem.onmenuitemclicklistener; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.textview; public class jisuanqiactivity extends activity implements onclicklistener { /** called when the activity is first created. */ private string string = "0"; private button btn1, btn2, btn3, btn4, btn5, btn6, btn7, btn8, btn9, btn0; private button btnadd, btnsub, btnmul, btndiv, btnsin, btncos, btntan; private button btnln, btnlog, btne, btneq, btnpoint, btndel, btnpower; private button btnsq, btnpai, btnc, btnb1, btnb2, btnfa; private textview btnt0, btnt1; private boolean flag = false; private getvalue getvalue = new getvalue(); private judge judge = new judge(); private void init() { btn1 = (button) this.findviewbyid(r.id.one); btn2 = (button) this.findviewbyid(r.id.two); btn3 = (button) this.findviewbyid(r.id.three); btn4 = (button) this.findviewbyid(r.id.four); btn5 = (button) this.findviewbyid(r.id.five); btn6 = (button) this.findviewbyid(r.id.six); btn7 = (button) this.findviewbyid(r.id.seven); btn8 = (button) this.findviewbyid(r.id.eight); btn9 = (button) this.findviewbyid(r.id.nine); btn0 = (button) this.findviewbyid(r.id.zero); btnadd = (button) this.findviewbyid(r.id.add); btnsub = (button) this.findviewbyid(r.id.subtract); btnmul = (button) this.findviewbyid(r.id.multiple); btndiv = (button) this.findviewbyid(r.id.division); btnsin = (button) this.findviewbyid(r.id.sin); btncos = (button) this.findviewbyid(r.id.cos); btntan = (button) this.findviewbyid(r.id.tan); btnln = (button) this.findviewbyid(r.id.ln); btnlog = (button) this.findviewbyid(r.id.log); btne = (button) this.findviewbyid(r.id.e); btneq = (button) this.findviewbyid(r.id.eq); btnpoint = (button) this.findviewbyid(r.id.point); btndel = (button) this.findviewbyid(r.id.del); btnpower = (button) this.findviewbyid(r.id.power); btnfa = (button) this.findviewbyid(r.id.factorial); btnsq = (button) this.findviewbyid(r.id.square_root); btnpai = (button) this.findviewbyid(r.id.pai); btnc = (button) this.findviewbyid(r.id.c); btnb1 = (button) this.findviewbyid(r.id.brackets1); btnb2 = (button) this.findviewbyid(r.id.brackets2); btnt0 = (textview) this.findviewbyid(r.id.text0); btnt1 = (textview) this.findviewbyid(r.id.text1); this.btn0.setonclicklistener(this); this.btn1.setonclicklistener(this); this.btn2.setonclicklistener(this); this.btn3.setonclicklistener(this); this.btn4.setonclicklistener(this); this.btn5.setonclicklistener(this); this.btn6.setonclicklistener(this); this.btn7.setonclicklistener(this); this.btn8.setonclicklistener(this); this.btn9.setonclicklistener(this); this.btnadd.setonclicklistener(this); this.btnb1.setonclicklistener(this); this.btnb2.setonclicklistener(this); this.btnc.setonclicklistener(this); this.btncos.setonclicklistener(this); this.btndel.setonclicklistener(this); this.btndiv.setonclicklistener(this); this.btne.setonclicklistener(this); this.btneq.setonclicklistener(this); this.btnfa.setonclicklistener(this); this.btnln.setonclicklistener(this); this.btnlog.setonclicklistener(this); this.btnmul.setonclicklistener(this); this.btnpai.setonclicklistener(this); this.btnpoint.setonclicklistener(this); this.btnpower.setonclicklistener(this); this.btnsin.setonclicklistener(this); this.btnsq.setonclicklistener(this); this.btnsub.setonclicklistener(this); this.btntan.setonclicklistener(this); } @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_jisuanqi); this.init(); } public boolean oncreateoptionsmenu(menu menu) { menuitem exit = menu.add("exit"); exit.setonmenuitemclicklistener(new onmenuitemclicklistener() { @override public boolean onmenuitemclick(menuitem item) { finish(); return true; } }); return true; } @override public void onclick(view v) { if ("error".equals(btnt1.gettext().tostring()) || "∞".equals(btnt1.gettext().tostring())) { string = "0"; } if (v == this.btn0) { string = judge.digit_judge(string, "0", flag); flag = false; btnt1.settext(string); } else if (v == this.btn1) { string = judge.digit_judge(string, "1", flag); flag = false; btnt1.settext(string); } else if (v == this.btn2) { string = judge.digit_judge(string, "2", flag); flag = false; btnt1.settext(string); } else if (v == this.btn3) { string = judge.digit_judge(string, "3", flag); flag = false; btnt1.settext(string); } else if (v == this.btn4) { string = judge.digit_judge(string, "4", flag); flag = false; btnt1.settext(string); } else if (v == this.btn5) { string = judge.digit_judge(string, "5", flag); flag = false; btnt1.settext(string); } else if (v == this.btn6) { string = judge.digit_judge(string, "6", flag); flag = false; btnt1.settext(string); } else if (v == this.btn7) { string = judge.digit_judge(string, "7", flag); flag = false; btnt1.settext(string); } else if (v == this.btn8) { string = judge.digit_judge(string, "8", flag); flag = false; btnt1.settext(string); } else if (v == this.btn9) { string = judge.digit_judge(string, "9", flag); flag = false; btnt1.settext(string); } else if (v == this.btneq) { btnt0.settext(string + "="); string = getvalue.advanced_dispose(string); string = judge.digit_dispose(string); flag = true; btnt1.settext(string); } else if (v == this.btnadd) { string = judge.judge(string, "+"); flag = false; btnt1.settext(string); } else if (v == this.btnsub) { string = judge.judge(string, "-"); flag = false; btnt1.settext(string); } else if (v == this.btnmul) { string = judge.judge(string, "×"); flag = false; btnt1.settext(string); } else if (v == this.btndiv) { string = judge.judge(string, "÷"); flag = false; btnt1.settext(string); } else if (v == this.btnb1) { if ("0".equals(string) || flag) { string = "("; } else string += "("; flag = false; btnt1.settext(string); } else if (v == this.btnb2) { if ("0".equals(string) || flag) { string = ")"; } else string += ")"; flag = false; btnt1.settext(string); } else if (v == this.btne) { if ("0".equals(string)) { string = "e"; } else string += "e"; flag = false; btnt1.settext(string); } else if (v == this.btnpower) { string += "^"; flag = false; btnt1.settext(string); } else if (v == this.btnfa) { string += "!"; flag = false; btnt1.settext(string); } else if (v == this.btnsq) { if ("0".equals(string) || flag) string = ""; string += "√"; flag = false; btnt1.settext(string); } else if (v == this.btnpai) { if ("0".equals(string) || flag) { string = "π"; } else string += "π"; flag = false; btnt1.settext(string); } else if (v == this.btnsin) { if ("0".equals(string) || flag) { string = "sin("; } else string += "sin("; flag = false; btnt1.settext(string); } else if (v == this.btncos) { if ("0".equals(string) || flag) { string = "cos("; } else string += "cos("; flag = false; btnt1.settext(string); } else if (v == this.btntan) { if ("0".equals(string) || flag) { string = "tan("; } else string += "tan("; flag = false; btnt1.settext(string); } else if (v == this.btnln) { if ("0".equals(string) || flag) { string = "ln("; } else string += "ln("; flag = false; btnt1.settext(string); } else if (v == this.btnpoint) { string = judge.judge1(string); flag = false; btnt1.settext(string); } else if (v == this.btnlog) { if ("0".equals(string) || flag) { string = "log("; } else string += "log("; flag = false; btnt1.settext(string); } else if (v == this.btndel) { if (flag) { string = ""; btnt0.settext(string); string = "0"; btnt1.settext(string); } if (!"0".equals(string)) { string = string.substring(0, string.length() - 1); if (0 == string.length()) string = "0"; } flag = false; btnt1.settext(string); } else if (v == this.btnc) { string = ""; btnt0.settext(string); string = "0"; btnt1.settext(string); flag = false; } } }
java类getvalue代码:
package com.xueba.jsq; import java.util.linkedlist; import java.util.list; public class getvalue { public string bracke_dispose(string string) { // 处理括号里的表达式,思路, // 1.遇到正括号就将它在字符串里的索引保存在一个链表里<插在链表头> // 2.遇到第一个反括号就处理这个括号里的表达式<取出链表第一个元素,然后根据这两个索引取出表达式,会调用一个专门处理 // log,ln,sin,cos,tan等的special_dispose函数,将反回一个自由加减乘除的表达式,在调用alg_dispose函数> // 3.函数处理后返回一个可能还含有log,ln,sin,cos,tan等的但没有括号的表达式; int flag = 0, flag1 = 0, i = 0; int leng = string.length(); list<integer> list = new linkedlist<integer>(); character c; string str = "", tmp = "", tmp3 = "", tmp4 = ""; while (true) { if (i >= leng) break; c = string.charat(i); if ('(' == c) list.add(0, i); if (')' == c) { if (0 == list.size()) { system.out.println(")error"); return "error"; } str = string.substring(list.get(0) + 1, i); tmp = this.special_dispose(str); tmp = this.alg_dispose(str); if ("error".equals(tmp)) return "error"; tmp3 = string.substring(0, list.get(0)); tmp4 = string.substring(i + 1, leng); string = tmp3 + tmp + tmp4; flag = str.length() + 2; flag1 = tmp.length(); leng += (flag1 - flag); i += (flag1 - flag); list.remove(0); } i++; } if (list.size() != 0) { system.out.println("(error"); return "error"; } return string; } public string special_dispose(string string) { // 用于处理特殊表达式; if ("error".equals(string)) { return "error"; } string = dispose(string, "sin"); string = dispose(string, "cos"); string = dispose(string, "tan"); string = dispose(string, "log"); string = dispose(string, "ln"); string = dispose(string, "!"); string = dispose(string, "^"); string = dispose(string, "√"); string = dispose(string, "e"); return string; } public string alg_dispose(string string) { // 处理加减乘除 string = special_dispose(string); if ("error".equals(string)) { return "error"; } character c; string str = ""; list<double> list = new linkedlist<double>(); double tmp = 0; boolean add_flag = false; for (int i = 0; i < string.length(); i++) { c = string.charat(i); if (!judge.paiduan(c)) { str += c; } else { if (str.length() != 0) list.add(new double(str)); str = ""; switch (c) { case '+': if (2 == list.size()) { if (add_flag) { tmp = list.get(0) + list.get(1); list.clear(); list.add(tmp); } else { tmp = list.get(0) - list.get(1); list.clear(); list.add(tmp); } break; } add_flag = true; break; case '-': if (2 == list.size()) { if (add_flag) { tmp = list.get(0) + list.get(1); list.clear(); list.add(tmp); } else { tmp = list.get(0) - list.get(1); list.clear(); list.add(tmp); } add_flag = false; break; } break; case '×': if (i == (string.length() - 1)) return "error"; while (!(i == (string.length() - 1)) && !judge.paiduan((c = string.charat(i + 1)))) { str += c; i++; } if (str.length() != 0) list.add(new double(str)); str = ""; if (list.size() == 2) { tmp = list.get(0) * list.get(1); list.clear(); list.add(0, tmp); } else { tmp = list.get(2) * list.get(1); list.remove(2); list.remove(1); list.add(tmp); } break; case '÷': if (i == (string.length() - 1)) return "error"; while (!(i == (string.length() - 1)) && !judge.paiduan((c = string.charat(i + 1)))) { str += c; i++; } if (str.length() != 0) list.add(new double(str)); str = ""; if (list.size() == 2) { tmp = list.get(0) / list.get(1); list.clear(); list.add(0, tmp); } else { tmp = list.get(2) / list.get(1); list.remove(2); list.remove(1); list.add(tmp); } break; default: break; } } } if (str.length() != 0) list.add(new double(str)); if (2 == list.size()) { if (add_flag) { tmp = list.get(0) + list.get(1); list.clear(); list.add(tmp); } else { tmp = list.get(0) - list.get(1); list.clear(); list.add(tmp); } } if (list.size() != 0) string = "" + list.get(0); return string; } public string get_r_digit(string string, int index) { // 得到index右边的第一个数; string tmp = ""; int length = string.length(), j = index; character character; if (index >= length) tmp = "error"; while (true) { if (j == length) break; character = string.charat(j); if (character.isdigit(character) || (character == '.')) { tmp += character; } else break; j++; } if (0 == tmp.length()) tmp = "error"; system.out.println(tmp); return tmp; } public string get_l_digit(string string, int index) { // 得到index左边的第一个数; string tmp = ""; int j = index; character c; if (index < 0) tmp = "error"; while (true) { if (j < 0) break; c = string.charat(j); if (character.isdigit(c) || (c == '.')) { tmp = "" + c + tmp; } else break; j--; } if (0 == tmp.length()) tmp = "error"; return tmp; } public string dispose1(string string) { // 将π替换为对应的数字; int index, leng = string.length(); double tmp = math.pi; while (leng != 0) { index = string.indexof("π"); if (-1 == index) break; if ((index != 0 && (index + 1) != leng) && character.isdigit(string.charat(index + 1)) && character.isdigit(string.charat(index - 1))) { string = string.replacefirst("π", "×" + tmp + "×"); } else if (index != 0 && character.isdigit(string.charat(index - 1))) { string = string.replacefirst("π", "×" + tmp); } else if (index != 0 && character.isdigit(string.charat(index + 1))) { string = string.replacefirst("π", "" + tmp + "×"); } else { string = string.replacefirst("π", "" + tmp); } } return string; } public string dispose(string string, string dispose) { // 处理指定运算符;<log,ln,sin,cos,tan....> int index, flag = dispose.length(), flag1, flag2; string tmpstring = "", tmpstring1 = "", tmpstring2 = ""; double tmp, tmp1; while (string.length() != 0) { index = string.indexof(dispose); if (-1 == index) break; if ("!".equals(dispose)) { tmpstring = get_l_digit(string, index - flag); if (!"error".equals(tmpstring) && !"error".equals(tmpstring1)) { tmp = new double(tmpstring); } else { return "error"; } tmp1 = 1.0; for (int i = 1; i <= tmp; i++) { tmp1 *= i; } tmpstring2 = "" + tmp1; string = string.replacefirst(tmpstring + dispose, tmpstring2); } else if ("e".equals(dispose)) { tmpstring = get_r_digit(string, index + flag); tmpstring1 = get_l_digit(string, index - flag); if (!"error".equals(tmpstring) && !"error".equals(tmpstring1)) { tmp = new double(tmpstring); tmp1 = new double(tmpstring1); } else { return "error"; } tmp = math.pow(10, tmp); tmp1 *= tmp; tmpstring2 = "" + tmp1; string = string.replacefirst(tmpstring1 + dispose + tmpstring, tmpstring2); system.out.println(string); } else if ("^".equals(dispose)) { tmpstring = get_r_digit(string, index + flag); tmpstring1 = get_l_digit(string, index - flag); flag1 = tmpstring.length(); flag2 = tmpstring1.length(); if (!"error".equals(tmpstring) && !"error".equals(tmpstring1)) { tmp = new double(tmpstring); tmp1 = new double(tmpstring1); } else { return "error"; } tmp = math.pow(tmp1, tmp); tmpstring2 = "" + tmp; flag1 = index + flag1 + 1; flag2 = index - flag2; if (0 == flag2) { tmpstring = ""; } else { tmpstring = string.substring(0, flag2); } if (string.length() == flag1) { tmpstring1 = ""; } else { tmpstring1 = string.substring(flag1, string.length()); } string = tmpstring + tmpstring2 + tmpstring1; } else { tmpstring = get_r_digit(string, index + flag); flag1 = tmpstring.length(); if (!"error".equals(tmpstring)) tmp = new double(tmpstring); else { return "error"; } tmpstring2 = tmpstring; if ("sin".equals(dispose)) { if ("error".equals(tmp)) return "error"; tmp = math.sin(tmp); } else if ("cos".equals(dispose)) { if ("error".equals(tmp)) return "error"; tmp = math.cos(tmp); } else if ("tan".equals(dispose)) { if ("error".equals(tmp)) return "error"; tmp = math.tan(tmp); } else if ("log".equals(dispose)) { if ("error".equals(tmp)) return "error"; tmp = math.log10(tmp); } else if ("ln".equals(dispose)) { if ("error".equals(tmp)) return "error"; tmp = math.log(tmp); } else if ("√".equals(dispose)) { if ("error".equals(tmp)) return "error"; tmp = math.sqrt(tmp); } else if ("log".equals(dispose)) { if ("error".equals(tmp)) return "error"; tmp = math.log(tmp); } if (index != 0 && character.isdigit(string.charat(index - 1))) { tmpstring = "×" + tmp; } else { tmpstring = "" + tmp; } string = string.replacefirst(dispose + tmpstring2, tmpstring); } } return string; } public string advanced_dispose(string string) { string = this.dispose1(string); string = this.bracke_dispose(string); string = this.alg_dispose(string); return string; } }
java类judge代码:
package com.xueba.jsq; public class judge { public string judge(string string, string c) { switch (string.charat(string.length() - 1)) { case '+': case '-': case '×': case '÷': string = string.substring(0, string.length() - 1) + c; break; default: string += c; break; } return string; } public static string dispose(string string) { int leng = string.length() - 1; character character; if (0 == leng) { return "error"; } for (int i = 0; i < leng; i++) { character = string.charat(i); if (character.isletter(character)) { return "error"; } } return string; } public string judge1(string string) { int p = string.length() - 1; boolean flag = true; character tmp = string.charat(p); if (0 == p) string += "."; if (character.isdigit(tmp) && 0 != p) { while (flag) { if (!character.isdigit(tmp)) { flag = false; if (tmp != '.') string += "."; } if (0 == --p && (tmp != '.')) { string += "."; break; } tmp = string.charat(p); } } return string; } public static boolean paiduan(character c) { switch (c) { case '+': case '-': case '×': case '÷': return true; default: return false; } } public string digit_judge(string string, string c, boolean flag) { if ("0".equals(string)) { string = c; } else if (flag) { string = c; } else string += c; return string; } public string digit_dispose(string string) { if ("error".equals(string)) { return string; } double double1 = new double(string); if(double1>999999999999999.0) return "∞"; long l = (long) (double1 * 1e4); double1 = (double) (l / 1e4); string = "" + double1; return string; } }
以上就是android开发分享Android Studio实现带三角函数对数运算功能的高级计算器的全部内容,希望对大家的学习有所帮助,也希望大家多多支持<计算机技术网(www.ctvol.com)!!>。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/addevelopment/1098040.html