我主要的递归+错误

时间:2017-06-16 16:05:59

标签: java recursion main

我正在使用java bluejay试图解决递归问题。

问题:给出一系列自然数(高于0) 和一个int,该方法需要告诉数组是否包含一种总结数字以获得给定int的方法。 例如{4,5} int = 13>> 4 + 4 + 5 = 13 =真 例如{4,5} int = 3>>>假的。

第二个问题是,当我使用我的主要时,它说“找不到符号 - 方法 isSumOf(int [],int)虽然我确实有这种方法......

这是我的课程:

public class Ex14
{
    static int allways;
    static int index = -1;

    public static boolean isSumOf(int[] s, int n){
        if(index == -1) index = s.length - 1;
            return isSumOf(s, n, index);
    }

    private static boolean isSumOf(int[] s, int n, int index){
        int temp = s[index];   
        if(allways == n) {return true;}
        if(allways > n && index != 0) {allways -= temp + s[index - 1]; 
        if(allways / s[index - 1] == s.length) index --;}
        if(allways > n && index == 0) return false;
        if(allways < n) allways += temp; return isSumOf(s, n);
    }
}

我的主要课程:

public class bdikot
{ 
    public static void main(String[] args){
    int [] hi= new int[1];
    hi[0]=3;


    System.out.println(isSumOf(hi,7));}
}

先谢谢Asaf :-)。

1 个答案:

答案 0 :(得分:0)

对于你的第二个问题,我认为你需要改变:

{
	"serial": "10002000",
	"observations": [
		"8": {
			"d": "dimension1",
			"v": "somevalue",
		},
		"17": {
			"d": "dimension2",
			"v": "anothervalue",
		},
	],
}

由于System.out.println(Ex14.isSumOf(hi,7)); 存在于与主方法不同的类中。

您也可以查看:

https://en.wikipedia.org/wiki/Programming_style

https://google.github.io/styleguide/javaguide.html

由于以下这些将使您的代码更容易为其他人阅读。