我正在解决以下问题:
只用一个实例变量,一个整数数组编写一个对象类。构造函数应该将整数数组作为唯一参数。编写所有访问器,mutators,toString和equals方法。还要写一个额外的RECURSIVE方法,它返回数组中所有元素的总和(你的方法应该有一个数组作为它的参数,并且在一般情况下应该返回它的递归调用)。编写客户端类来测试所有方法,尤其是递归方法。
出于某种原因,我的toString方法有一个错误,我的递归方法也有一个错误,它应该返回数组的总和。我可能会对这些代码感到茫然,所以对任何帮助表示赞赏。
这是我到目前为止所拥有的......
客户类别(用于测试方法)
package weeklylab9;
public class Client {
public static void main(String[] args) {
ObjectClass numArray = new ObjectClass; //trying to create new object so I can use toString method
numArray.toString(); //calling toString method?
}
}
对象类
package weeklylab9;
import java.util.Arrays;
import java.util.stream.*;
public class ObjectClass {
int[] numArray = {10,10,20,20,40};
public int[] getArray() { //this is my accessor method
return numArray;
}
public int[] setArray(int[] newa) { //this is my mutator method
this.numArray = newa;
return this.numArray;
}
public String toString() { //this is my toString method
Arrays.toString(int[], numArray);
}
public int recursionSum(int[] numArray) { //this should be a recursion method that returns sum of array elements
int sum = IntStream.of(numArray).sum();
System.out.println("The sum is : " + sum);
}
}
答案 0 :(得分:0)
你的toString()方法应如下所示:
public String toString() {
return Arrays.toString(numArray);
}
您错过了return语句,而且您对Arrays.toString()
的调用有一个额外的错误参数。
使用递归计算总和是没有意义的,但这是一个解决方案: https://stackoverflow.com/a/20253717/8883654