Java有指数运算符吗?
Java中有指数运算符吗 例如,如果提示用户输入两个数字,并且用户输入了Java有指数运算符吗?,java,pow,exponent,Java,Pow,Exponent,Java中有指数运算符吗 例如,如果提示用户输入两个数字,并且用户输入了3和2,则正确答案将是9 import java.util.Scanner; public class Exponentiation { public static double powerOf (double p) { double pCubed; pCubed = p*p; return (pCubed); } public static vo
3
和2
,则正确答案将是9
import java.util.Scanner;
public class Exponentiation {
public static double powerOf (double p) {
double pCubed;
pCubed = p*p;
return (pCubed);
}
public static void main (String [] args) {
Scanner in = new Scanner (System.in);
double num = 2.0;
double cube;
System.out.print ("Please put two numbers: ");
num = in.nextInt();
cube = powerOf(num);
System.out.println (cube);
}
}
没有运算符,但有一个方法
Math.pow(2, 3) // 8.0
Math.pow(3, 2) // 9.0
仅供参考,一个常见的错误是假定
2^3
是2到3次方。事实并非如此。插入符号在Java(和类似语言)中是有效的运算符,但它是二进制异或。还有Math.pow(double a,double b)
方法。请注意,它返回一个double,您必须将其转换为int,如(int)Math.pow(double a,double b)
您可以使用Math类中的pow方法。以下代码将输出2提升为3(8)
最简单的方法是使用数学库 使用
Math.pow(a,b)
,结果将是a^b
如果你想自己做,你必须使用for循环
// Works only for b >= 1
public static double myPow(double a, int b){
double res =1;
for (int i = 0; i < b; i++) {
res *= a;
}
return res;
}
要使用用户输入执行此操作,请执行以下操作:
公共静态void getPow(){
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入第一个整数:”);//3
int first=sc.nextInt();
System.out.println(“输入第二个整数:”);//2
int second=sc.nextInt();
System.out.println(第一个+”到“+第二个+”的幂等于“+
(int)Math.pow(第一,第二));//输出9
如果有人想使用递归创建自己的指数函数,下面是供您参考的
public static double power(double value, double p) {
if (p <= 0)
return 1;
return value * power(value, p - 1);
}
公共静态双电源(双值,双p){
如果(pp*p
是pSquared
,而不是pCubed
。如何提示用户输入两个数字?例如,在示例中,基数为3,指数为2。我想您应该乘以一个内循环,然后迭代b次。@libik如果b为负数怎么办?myPow(双精度,双精度)方法签名意味着它使用浮点幂计算,而事实上它不使用。方法签名应该读取myPow(double,int)。Math.pow(double,double)确实考虑了浮点幂,例如,Math.pow(4,0.5)返回4的平方,so2,而myPow(4,0.5)将返回4。@HummelingEngineeringBV-好的,让我们在4年多后修复它:)我想知道为什么^
是按位异或运算符(例如Java和Python)的反因子标准-一定让很多初学者或MATLAB用户感到困惑…为什么要单独使用java和python?^
作为通用过程编程语言中的按位异或是由C引入的,实际上任何基于C的语言(或是从C或C++中获得灵感的语言)在一种特殊用途的数学编程语言中,它意味着其他东西,这一事实不应该让任何人感到困惑?
double base = 2;
int exp = 3;
double whatIWantToKnow = myPow(2, 3);
public static double power(double value, double p) {
if (p <= 0)
return 1;
return value * power(value, p - 1);
}