使用递归乘以非负整数

时间:2016-03-19 05:29:52

标签: java recursion integer

我想执行这段代码。问题是: 非负整数的乘法可以通过加法来递归地定义:

mult(n,0)=0
mult(n,m+1)=n+mult(n,m)

编写一个具有方法mult的类,它实现了这样的功能...... 但是,当我运行该文件时,我收到此错误:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at javaapplication56.JavaApplication56.main(JavaApplication56.java:20)
Java Result: 1

我真的不确定什么是错的...... =(

package javaapplication56;


public class JavaApplication56 {

    static int mult(int n,int m){
    if (m==0)return 0;
    else return n+mult(n,m-1);
    }

    public static void main(String []args){
    System.out.print(mult(Integer.parseInt(args[0]),Integer.parseInt(args[1])));

    }

}

1 个答案:

答案 0 :(得分:1)

main方法中的

args 参数是launch arguments的数组。
您必须使用两个参数执行您的类以使其工作。 例如。:
java package.to.your.Class 23 2 或者在IDE中配置程序参数。