因此,我正在尝试制作一个程序,其中用户输入数字,计算机输出阶乘。我必须使用递归并具有1个类和1个客户端。

我的课是:

public class Factorial
{
   public static int Factorial(int n)
   {
      if(n==1)
      {
         return 1;
      }
      else
      {
        return n*(Factorial(n-1));
      }
   }
}


我的客户是:

public class FactorialClient
{
    public static void main()
   {
      Factorial n = new Factorial();
      System.out.println(n.Factorial(4));
   }
}


这些都可以编译并完全正常工作。但是,我试图为用户提供一种输入数字的方法,而不是在客户端内部输入数字的方法。请帮忙!

最佳答案

尝试这个。

public class FactorialClient
{
    public static void main()
   {
      Scanner reader = new Scanner(System.in);  // Reading from System.in
      System.out.println("Enter a number: ");
      int x = reader.nextInt();
      Factorial n = new Factorial();
      System.out.println(n.Factorial(x));
   }
}

10-07 18:55
查看更多