gpt4 book ai didi

java - 幂函数计算器介绍

转载 作者:行者123 更新时间:2023-12-01 15:38:08 28 4
gpt4 key购买 nike

我有这段Java代码,但我不知道如何在其中引入power、sin、cos或其他函数。我在各个网站上查找过,但没有找到它

public class calculator extends Activity {

private WebView mWebView;
private StringBuilder mMathString;
private ButtonClickListener mClickListener;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.calculator);

// Create the math string
mMathString = new StringBuilder();

// Enable javascript for the view
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);

// Set the listener for all the buttons
mClickListener = new ButtonClickListener();
int idList[] = { R.id.button0, R.id.button1, R.id.button2,
R.id.button3, R.id.button4, R.id.button5, R.id.button6,
R.id.button7, R.id.button8, R.id.button9, R.id.buttonLeftParen,
R.id.buttonRightParen, R.id.buttonPlus, R.id.buttonPlus,
R.id.buttonMinus, R.id.buttonDivide, R.id.buttonTimes,
R.id.buttonDecimal, R.id.buttonBackspace, R.id.buttonClear, R.id.buttonPow };

for(int id : idList) {
View v = findViewById(id);
v.setOnClickListener(mClickListener);
}

}

private void updateWebView() {

StringBuilder builder = new StringBuilder();

builder.append("<html><body>");
builder.append("<script type=\"text/javascript\">document.write('");
builder.append(mMathString.toString());
builder.append("');");
builder.append("document.write('<br />=' + eval(\"");
builder.append(mMathString.toString());
builder.append("\"));</script>");
builder.append("</body></html>");

mWebView.loadData(builder.toString(), "application/xhtml", "UTF-8");
}

private class ButtonClickListener implements OnClickListener {

@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.buttonBackspace:
if(mMathString.length() > 0)
mMathString.deleteCharAt(mMathString.length()-1);
break;
case R.id.buttonClear:
if(mMathString.length() > 0)
mMathString.delete(0, mMathString.length());
break;
default:
mMathString.append(((Button) v).getText());
}

updateWebView();
}

}

}

有人能说一下如何引入幂函数吗?

最佳答案

您可能想查看 Java 的 Math package 。它有很多数学函数,包括您正在寻找的函数。如果导入尚不存在,您可能需要在使用 Math 函数的文件开头添加 import java.lang.Math; 的导入。

例如,double answer = Math.pow(firstnum,secondnum); 是计算一个数字的幂的函数,或者 double answer = Math.sin(anum ) 给出变量 anum 中某个值的 sin,依此类推。

当您阅读该类的 javadoc 时,您将看到其他函数,这些函数应该提供您想要的其余“科学”计算器功能。

还要记住,整数和 double 的存储容量确实有限制,因此,如果有人决定做一些疯狂的事情(例如 100,000^100,000,000),您可能需要考虑如何处理溢出。如果对非常大的数字有足够的精度对您来说很重要,您可能还需要研究诸如 BigDecimal 之类的类。或BigInteger .

关于java - 幂函数计算器介绍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8546577/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com