Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 需要帮助了解运行时错误的原因以及如何修复它吗_Java_Runtime_Runtime Error - Fatal编程技术网

Java 需要帮助了解运行时错误的原因以及如何修复它吗

Java 需要帮助了解运行时错误的原因以及如何修复它吗,java,runtime,runtime-error,Java,Runtime,Runtime Error,代码的目的是求二项式系数(n,k) 我收到一个运行时错误 import java.util.*; public class pract5ex11 { public static long combinRec (int n, int k){ long answer; if (k==0 || n==k) { answer = 1; } else { answer = combinRec(n-1,k)+combinRe

代码的目的是求二项式系数(n,k) 我收到一个运行时错误

import java.util.*;

public class pract5ex11 {
public static long combinRec (int n, int k){
    long answer;
    if (k==0 || n==k) {
            answer = 1;
        }
    else {

        answer = combinRec(n-1,k)+combinRec(n-1,k-1);

    }
    return answer;
}

public static void main (String []args){
    Scanner s = new Scanner(System.in);
    System.out.println("Enter first number");
    int n = s.nextInt();
    System.out.println("Enter second number, must be equal or greater");
    int k = s.nextInt();
    System.out.println(combinRec(n,k));

}
}
此外,我对以下几点感到困惑:_ java中的静态和非静态意义 指挥中心线 java中的关键字“this” 如果有某些网站或参考资料可以通过它们了解这些要点,我将不胜感激,
谢谢你

你把它颠倒过来了:
k
应该更小/相等,否则你会有一个调用链

if (k == 0 || n == k) {

从不输入,导致出现堆栈溢出错误,因为您正在重复调用combinRec(n-1,k),这不会改变
k
。所以,如果
n
k!=0
,那么
k==0 | | n==k
将永远不会为真。但是,如果
k
,它最终将是真的,因为反复从
n
中减去
1
,最终会使
n
k
相等。

你把它颠倒过来:
k
应该更小/相等,否则你会有一系列的调用

if (k == 0 || n == k) {

从不输入,导致出现堆栈溢出错误,因为您正在重复调用combinRec(n-1,k)
,这不会改变
k
。所以,如果
n
k!=0
,那么
k==0 | | n==k
将永远不会为真。但是,如果
k
,它最终将是真的,因为反复从
n
中减去
1
,最终会使
n
k
相等。

“我收到一个运行时错误”=>什么错误?您是否可以发布堆栈跟踪,其中包含有用的信息,例如发生错误的行。包含“学习Java语言”部分。“我收到一个运行时错误”=>什么错误?您是否可以发布堆栈跟踪,其中包含有用的信息,例如发生错误的行。包含一个“学习Java语言”部分。@arshajii谢谢你,虽然问题中特别提到“确保n小于k”,但这很奇怪@user2283672很高兴我能提供帮助。别忘了。@arshajii谢谢你,虽然在问题中特别提到“确保n小于k”,但这很奇怪@user2283672很高兴我能帮上忙。别忘了。