Java 递归+;窃听我的主要

Java 递归+;窃听我的主要,java,recursion,main,Java,Recursion,Main,我正在使用JavaBlueJay试图解决一个递归问题 问题:给定一个自然数数组(大于0) 一个int,这个方法需要判断数组是否包含一种求和的方法来得到给定的int。 示例{4,5}int=13>>4+4+5=13=true 示例{4,5}int=3>>>错误 第二个问题是,当我使用main时,它会说“找不到符号-方法” isSumOf(int[],int)虽然我有这种方法 以下是我的课程: public class Ex14 { static int allways; stati

我正在使用JavaBlueJay试图解决一个递归问题

问题:给定一个自然数数组(大于0) 一个int,这个方法需要判断数组是否包含一种求和的方法来得到给定的int。 示例{4,5}int=13>>4+4+5=13=true 示例{4,5}int=3>>>错误

第二个问题是,当我使用main时,它会说“找不到符号-方法” 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);
    }
}

请尽快提前感谢:-)。

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

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

此外,您可能还想看看:


因为遵循这些将使您的代码更容易为其他人阅读。

该方法位于不同的类中。如果它位于不同的类中,则需要指定类名。顺便说一句,请正确格式化您的代码。这很难阅读。
System.out.println(Ex14.isSumOf(hi,7));