Java return 命令
Java return command
所以这里有这段代码,是我从教科书上复制的。我不完全理解 factorial(k) 是如何从中获取它的数字的,因为只有 factorial(n) 有一个计算它的值的方法。
public void run(){
int n = readInt("Enter the number of objects, n, in the set: ");
int k = readInt("Enter numberto be chose,k, :");
println("C("+ n + ", " + k + ") = " + combinations(n, k));
}
private int combinations(int n, int k){
return factorial(n) / (factorial(k) * factorial(n-k));
}
private int factorial(int n){
int result = 1;
for(int i = 1; i <= n; i++){
result*= i;
}
return result;
}
}
你对函数调用和函数定义感到困惑。
行 return factorial(n) / (factorial(k) * factorial(n-k));
调用了一个名为 factorial
的函数,它具有不同的值(n
、n-k
和 k
)。
以 private int factorial(int n){
开头的行定义了任何给定值 n
的函数。 n
是一个变量,表示调用传递的值。
如果您用值 10 和 4(分别)调用 combination
,那么它会分别用 10、4 和 6 调用 factorial
。第一次调用将 10 绑定到 n(阶乘的形式参数),第二次将 4 绑定到 n(形式参数),第三次将 6 绑定到 n(形式参数)。
一个定义,三种使用。
观察参数和参数之间的区别:
return factorial(n) / (factorial(k) * factorial(n-k));
这里第一个 n
是一个 参数 - 传递给被调用函数的值。
private int factorial(int n)
这里 n
是一个 参数 - 一个占位符,用于定义函数在使用参数调用时应该做什么。如果你无法表达函数应该用这个参数做什么,那么传递一个参数有什么用?
所以这里有这段代码,是我从教科书上复制的。我不完全理解 factorial(k) 是如何从中获取它的数字的,因为只有 factorial(n) 有一个计算它的值的方法。
public void run(){
int n = readInt("Enter the number of objects, n, in the set: ");
int k = readInt("Enter numberto be chose,k, :");
println("C("+ n + ", " + k + ") = " + combinations(n, k));
}
private int combinations(int n, int k){
return factorial(n) / (factorial(k) * factorial(n-k));
}
private int factorial(int n){
int result = 1;
for(int i = 1; i <= n; i++){
result*= i;
}
return result;
}
}
你对函数调用和函数定义感到困惑。
行 return factorial(n) / (factorial(k) * factorial(n-k));
调用了一个名为 factorial
的函数,它具有不同的值(n
、n-k
和 k
)。
以 private int factorial(int n){
开头的行定义了任何给定值 n
的函数。 n
是一个变量,表示调用传递的值。
如果您用值 10 和 4(分别)调用 combination
,那么它会分别用 10、4 和 6 调用 factorial
。第一次调用将 10 绑定到 n(阶乘的形式参数),第二次将 4 绑定到 n(形式参数),第三次将 6 绑定到 n(形式参数)。
一个定义,三种使用。
观察参数和参数之间的区别:
return factorial(n) / (factorial(k) * factorial(n-k));
这里第一个 n
是一个 参数 - 传递给被调用函数的值。
private int factorial(int n)
这里 n
是一个 参数 - 一个占位符,用于定义函数在使用参数调用时应该做什么。如果你无法表达函数应该用这个参数做什么,那么传递一个参数有什么用?