我有几个问题 . 我正在做家庭作业,但遇到了一些令人困惑的事情 . (我正在上一堂课,对错误感到抱歉 . )
实现一个采用整数数组和int x作为其大小的类 . 在类中创建一个方法,该方法创建一个长度比数据长度大1的新数组 . 然后创建一个方法将所有数据的元素复制到新数组中,并将x的值添加到数组的最后一个元素中 . 创建一个方法以返回新数组中的所有整数 .
这就是我所拥有的
package taskone;
import java.util.*;
class Arrayplus1 {
int x;
int data[];
void example(int x) {
this.x = x+1;
this.data= new int[x];
}
void increaseSizeOfArray(int incrementSize) {
int copiedArray[] = Arrays.copyOf(data, data.length + incrementSize);
data = copiedArray;
}
void printall() {
System.out.println(Arrays.toString(data));
}
}
public class TaskOne {
public static void main(String[] args) {
example task = new example();
task.printall();
}
}
这只是返回null .
我的问题是上述任务的最后一点 . “创建一个方法来返回新数组中的所有整数 . ”
当我没有在数组中包含任何元素时,这怎么可能?我正在尝试遵循分配指南 . 谢谢 .
2 回答
首先,您无法创建方法的对象 . 您可以创建类的对象 . 每当你有一个类时,你应该至少有一个构造函数 . 此外,您的方法似乎应该返回一些数组和int值 . 实际上,我认为这段代码甚至不会编译 . 我建议你查看你的书 .
您可以使用constructor来完成此任务 . 您可以使用
this
表示法将传递给构造函数的参数保存为private变量和引用 . (见this)在这里,您只需创建一个新数组 . 确保将新数组的长度设置为
array
的长度加1(以容纳额外的元素x
)这被称为getter方法 . 您
您可能已经注意到我没有使用
Arrays.copyOf
方法 . 这实际上是一步创建并填充数组,因此,我将两个步骤分开以符合问题 .