Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Math pow函数不起作用_Java_Android - Fatal编程技术网

Java Math pow函数不起作用

Java Math pow函数不起作用,java,android,Java,Android,案例插入符号不起作用。也许我的逻辑不对。当我在num1中给出值并使用幂符号时,答案与我给出num2值时相同 case R.id.caret: entry = "^"; if(num1 == 0) { num1 = Integer.parseInt(txt1.getText().toString()); txt1.setText(""); }

案例
插入符号
不起作用。也许我的逻辑不对。当我在
num1
中给出值并使用幂符号时,答案与我给出
num2
值时相同

        case R.id.caret:
            entry = "^";
            if(num1 == 0) {
                num1 = Integer.parseInt(txt1.getText().toString());
                txt1.setText("");
            }
           else if (num2 !=0){
                num2 = 0;
                txt1.setText("");
            }

            break;
        case R.id.equal:
            if (!entry.equals(null)) {
                if (num2 != 0) {  
                    } else if (entry.equals("/")) {
                        txt1.setText("");
                        /* op1 = op1 / op2;*/
                        txt1.setText("Result : " + Integer.toString(num1));
                    }
                    else if (entry.equals("^")){
                        num2 = Integer.parseInt(txt1.getText().toString());
                        txt1.setText("");

                    }
                    else  {
                        Log.e("Values", num1+"=="+num2);
                        Math.pow(num1, num2);
                        txt1.setText("Result" + Integer.toString(num1));
                    }
                } else {
                    operation();
                }
            }
         break;
      }
   }
}

您不会将
pow
的结果返回到任何地方。您需要将值返回到变量。此处指向num1。让它像下面一样。它会起作用的

          else  {
                    Log.e("Values", num1+"=="+num2);
                    double result=Math.pow(num1, num2);
                    txt1.setText("Result: " + result +"");
                }
编辑:

pow
功能的参数应为双值

如果
R.id.equal

 case R.id.equal:

          if (!entry.equals(null)) {

                 if (num2 != 0 && entry.equals("/")) {
                    txt1.setText("");
                    /* op1 = op1 / op2;*/
                    txt1.setText("Result : " + Integer.toString(num1));
                }
                else if (num2 != 0 && entry.equals("^")){
                    Log.e("Values", num1+"=="+num2);
                    double result=Math.pow(num1, num2);
                    txt1.setText("Result: " + result +"");

                }

            }
            else {
                operation();
            }

            break;

兄弟,我想没有人能理解你的问题。你能澄清一下你想要实现什么吗???问题是什么。否则,你的问题就浮在空中,我们无法抓住它。问题是我的^math.pow函数不工作。我正在制作科学计算器,但我的所有运算符都工作良好,除了数学。pow但我使用int num1和int num2。。。当我粘贴这个代码时。。找到生成int时出错。双重的required@farhan这是另一个问题。不,等等:是另外两个问题。还是同一个问题。没有语法错误。我的答案是与num 1值匹配。如果(entry.equals(“^”){num2=Integer.parseInt(txt1.getText().toString());txt1.setText(“”)},为什么要执行
@farhani我对android是全新的。