Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.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 I';我试图让我的程序打印出来,但运行时什么也没发生_Java - Fatal编程技术网

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
is
base exclusive或exponential
这甚至没有试图解释OP代码没有打印任何东西的原因。Java中有这样的东西…
base^exponential
is
base exclusive或exponential
当然有+1你当然有+1