Java I';我试图让我的程序打印出来,但运行时什么也没发生
这段代码取两个数字,一个基数,一个整数,然后将其相乘,但当我尝试运行它时,它取了这些数字,然后什么也没发生Java I';我试图让我的程序打印出来,但运行时什么也没发生,java,Java,这段代码取两个数字,一个基数,一个整数,然后将其相乘,但当我尝试运行它时,它取了这些数字,然后什么也没发生 import java.util.Scanner; public class RaisedToThePower { public static void main(String [] args) { Scanner reader = new Scanner(System.in); int base; int exponent; double x; System.ou
import java.util.Scanner;
public class RaisedToThePower
{
public static void main(String [] args)
{
Scanner reader = new Scanner(System.in);
int base;
int exponent;
double x;
System.out.println("Enter the base");
base = reader.nextInt();
System.out.println("Enter the exponent");
exponent = reader.nextInt();
x = base^exponent;
while (exponent > (-1));
{
System.out.println(x);
}
while (exponent <= -1);
{
System.out.println("Thanks for playing");
}
}
}
import java.util.Scanner;
公共阶层提高了权力
{
公共静态void main(字符串[]args)
{
扫描仪阅读器=新扫描仪(System.in);
int-base;
整数指数;
双x;
System.out.println(“输入基数”);
base=reader.nextInt();
System.out.println(“输入指数”);
指数=reader.nextInt();
x=基准指数;
而(指数>-1);
{
系统输出println(x);
}
而(指数为什么不打印:
x = base^exponent;
你没有打印任何东西,因为你打印了
while (exponent > (-1)) ;
;
结束while语句,因为它是一个无限循环,所以您永远不会打印任何内容
{
System.out.println(x);
}
这只是块中的一条语句,它不属于while
要解决此问题,请执行以下操作:
while (exponent > (-1)) // no ; here
{
System.out.println(x);
}
如果指数大于-1,这仍然是一个无止境的循环
下一个while也有同样的问题
其他问题:
x = base^exponent;
这不会执行求幂运算
^
是java中的XOR运算符
要获得指数的幂,您需要使用:
Math.pow(base, exponent);
从java文档:
返回第一个参数的值,并将其提升为第二个参数的幂
为什么不打印:
x = base^exponent;
你没有打印任何东西,因为你打印了
while (exponent > (-1)) ;
;
结束while语句,因为它是一个无限循环,所以您永远不会打印任何内容
{
System.out.println(x);
}
这只是块中的一条语句,它不属于while
要解决此问题,请执行以下操作:
while (exponent > (-1)) // no ; here
{
System.out.println(x);
}
如果指数大于-1,这仍然是一个无止境的循环
下一个while也有同样的问题
其他问题:
x = base^exponent;
这不会执行求幂运算
^
是java中的XOR运算符
要获得指数的幂,您需要使用:
Math.pow(base, exponent);
从java文档:
返回第一个参数的值,并将其提升为第二个参数的幂
这不是你获得基地力量的方式:
x = base ^ exponential;
一个简单的Math.pow示例,显示2到8的幂
Math.pow(2, 8)
第一个答案已经解释了一切。这不是你获得基地力量的方式:
x = base ^ exponential;
一个简单的Math.pow示例,显示2到8的幂
Math.pow(2, 8)
第一个答案已经解释了一切。你有;在每个while循环的末尾while(指数>(-1));除了打印之外,你没有在两个循环中做任何事情。任何循环被击中,它都将是无限循环。你有;在每个while循环的末尾while(指数>(-1));你在两个循环中除了打印之外没有做任何事情。任何一个循环被击中,它将是无限循环。这是什么?
x=base^exponent;?@ScaryWombat但奇怪的是,他有两个无限循环,这两个循环都应该还在打印。你的观察结果与代码不一致。你应该看到打印的东西。哈你在控制台上输入了任何值吗?Dupe?这是什么?@ScaryWombat,但奇怪的是,他有两个无限循环,这两个循环都应该还在打印。你的观察结果与代码不一致。你应该看到打印的东西。你在控制台上输入了任何值吗?Dupe?这甚至没有尝试打印解释OP代码没有打印任何东西的原因。Java中有这样的东西…base^exponential
isbase exclusive或exponential
这甚至没有试图解释OP代码没有打印任何东西的原因。Java中有这样的东西…base^exponential
isbase exclusive或exponential
当然有+1你当然有+1