【发布时间】:2017-06-16 16:05:59
【问题描述】:
我正在使用 java bluejay 尝试解决递归问题。
问题:给定一个自然数数组(大于 0) 和一个 int,该方法需要判断数组是否包含一种对数字求和以获得给定 int 的方法。 例如 {4,5} int = 13 >> 4+4+5 = 13 = true 例如 {4,5} int = 3 >>> false.
第二个问题是,当我使用我的 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);
}
}
我的主要课程:
public class bdikot
{
public static void main(String[] args){
int [] hi= new int[1];
hi[0]=3;
System.out.println(isSumOf(hi,7));}
}
在此先感谢 Asaf :-)。
【问题讨论】:
-
该方法在不同的类中。如果它在不同的类中,则需要指定类名。
-
顺便说一句,请正确格式化您的代码。读起来很尴尬。