gpt4 book ai didi

java - 使用 do - while 循环进行阶乘。 num1 变量变得等于 0,但同时的条件是 num1>=1。这是如何运作的?

转载 作者:行者123 更新时间:2023-12-02 01:04:54 24 4
gpt4 key购买 nike

Scanner scan = new Scanner(System.in);

System.out.println("Enter a number ") ;

int num = scan.nextInt();

int num1 = num;
do {
num1--;
num = num * num1;
} while (num1 >= 1);

System.out.println(num);

既然条件是 num1 大于或等于 1,为什么结果为零?

最佳答案

因为它是一个 do while 循环,并且您正在检查 num1 >=1 ,所以循环执行值 num1=1 , 和 num1-- 结果 num1 =0 ,从而导致整个阶乘为零:

Scanner scan = new Scanner(System.in);
System.out.println("Enter a number ") ;

int num=scan.nextInt();
int num1 = num ;
do{
num1--;

num= num * num1;



}while(num1>=2); // changed to 2
System.out.println(num);
}

关于java - 使用 do - while 循环进行阶乘。 num1 变量变得等于 0,但同时的条件是 num1>=1。这是如何运作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60189954/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com