gpt4 book ai didi

java - java打印阶乘计算过程

转载 作者:行者123 更新时间:2023-12-01 06:52:38 24 4
gpt4 key购买 nike

嗨,我需要打印阶乘计算过程。例如。如果用户输入的是5,系统应该打印出“5 * 4 * 3 * 2 * 1 = 120”

我有这个代码:

 public static void factorial()
{
Scanner sc = new Scanner(System.in);
int factorial = 1;
int count;

System.out.println(me+", This is option 2: Calculate a factorial");
System.out.print("Enter your number: ");
int number = sc.nextInt();
System.out.println();

if (number>0)
{
for (count=1; count<=number; count++)

factorial = factorial*count;

System.out.println(" = "+factorial);
System.out.println();
}
else
{
System.out.println("Enter a positive whole number greater than 0");
System.out.println();
}

}

我尝试插入此代码:

 System.out.print(count+" * ");

但是输出是“1 * 2 * 3 * 4 * 5 * = 6”。所以结果也是错误的。我怎样才能更改代码?谢谢

最佳答案

问题是您没有在 for 语句中添加大括号 {}:

if (number>0)
{
for (count=1; count<=number; count++)
{
factorial = factorial*count;
System.out.print(count);
if(count < number)
System.out.print(" * ");
}

System.out.println("Factorial of your number is "+factorial);
System.out.println();
}

此外,如果您担心顺序(1,2,4,5 而不是 5,4,3,2,1),您可以执行以下操作(更改 for 循环):

if (number>0)
{
for (count=number; count>1; count--)
{
factorial = factorial*count;
System.out.print(count);
if(count > 2)
System.out.print(" * ");
}

System.out.println("Factorial of your number is "+factorial);
System.out.println();
}

关于java - java打印阶乘计算过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21150190/

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