阶乘递归中的用户输入?
User input in Factorial Recursion?
所以我正在尝试制作一个程序,用户输入一个数字,计算机输出阶乘。我必须使用递归并有 1 个 class 和 1 个客户端。
我的class是:
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));
}
}
Scanner class 非常适合读取用户输入。
以下应该有效:
public class FactorialClient {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int userInput = scanner.nextInt();
System.out.println(Factorial.Factorial(userInput));
}
}
请注意,您不必声明新的 Factorial 对象,因为 Factorial 方法已被声明为静态的。
所以我正在尝试制作一个程序,用户输入一个数字,计算机输出阶乘。我必须使用递归并有 1 个 class 和 1 个客户端。
我的class是:
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));
}
}
Scanner class 非常适合读取用户输入。
以下应该有效:
public class FactorialClient {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int userInput = scanner.nextInt();
System.out.println(Factorial.Factorial(userInput));
}
}
请注意,您不必声明新的 Factorial 对象,因为 Factorial 方法已被声明为静态的。