java – 二元运算符’^’的坏操作数类型
发布时间:2020-12-15 02:53:53 所属栏目:Java 来源:网络整理
导读:尝试创建一个递归方法,将一个double值提升为 java课程的int权限.指令说“但是,编写代码,以便当n为偶数时,方法将返回(x ^(n / 2))^ 2.” 这是我到目前为止: public static double powerFaster(double x,int n) { if (n == 0) { return 1; } else if ((n % 2)
尝试创建一个递归方法,将一个double值提升为
java课程的int权限.指令说“但是,编写代码,以便当n为偶数时,方法将返回(x ^(n / 2))^ 2.”
这是我到目前为止: public static double powerFaster(double x,int n) { if (n == 0) { return 1; } else if ((n % 2) == 0) { return ((x ^ (n / 2.0) ^ 2.0)); //Error occurs here. } else { return x * powerFaster(x,(n - 1)); } } 解决方法
^是XOR运算符,而不是幂.使用Math.pow()获取电源.
也就是说,我认为你错过了练习的重点. 你应该返回powerFaster(x,n / 2)* powerFaster(x,n / 2);当n是偶数时(实际上进行一次递归调用,将其结果存储在变量中并将其自身相乘). public static double powerFaster(double x,int n) { if (n == 0) { return 1; } else if ((n % 2) == 0) { double pow = powerFaster(x,n/2); return pow * pow; } else { return x * powerFaster(x,(n - 1)); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |