Math.Sqrt(X);不工作?

时间:2012-07-31 14:58:20

标签: java android math sqrt

我正在制作一个计算器,在尝试制作平方根函数时,它输出你输入的数字,而不是平方根。这是适用于平方根函数的代码。

SquareRoot = (Button)findViewById(R.id.SquareRoot);
        SquareRoot.setOnClickListener(new OnClickListener() {
             public void onClick(View v) {
                x = TextBox.getText();
                xconv = Double.parseDouble(x.toString());
                Math.sqrt(xconv);
                answer = Double.toString(xconv);
                TextBox.setText(answer);

        }});

只是给出一些关于此的信息,x是CharSequence,xconv是x转换为double,而answer是字符串值。感谢。

5 个答案:

答案 0 :(得分:13)

这是因为Math.sqrt 返回 sqrt,它不会修改传入的值。

xconv = Math.sqrt(xconv);

是你想要的。

答案 1 :(得分:5)

实际问题是你只是保留结果而不存储任何变量。

只需将square root结果发送至xconv,然后即可查看结果。

用我的代码替换您的代码

 SquareRoot = (Button)findViewById(R.id.SquareRoot);
    SquareRoot.setOnClickListener(new OnClickListener() {
         public void onClick(View v) {
            x = TextBox.getText();
            xconv = Double.parseDouble(x.toString());
            xconv = Math.sqrt(xconv);//======> you are not initalize the answer to a variable here
            answer = Double.toString(xconv);
            TextBox.setText(answer);

    }});

答案 2 :(得分:3)

double squareRoot = Math.sqrt(xconv);

答案 3 :(得分:2)

您没有存储Math.sqrt的值。变量未更新,但返回结果。做类似的事情:

xconv = Math.sqrt(xconv);

答案 4 :(得分:0)

x=Double.parseDouble(edtchar.getText().toString());
ans.setText(Double.toString(Math.sqrt(x)));

将x视为Double,将ans视为textview。