我有几个问题。我正在做家庭作业,但遇到了一些令人困惑的事情。 (我正在上一堂课,对错误感到抱歉。)
实现一个接受整数数组和int x的类 尺寸。在类中创建一个方法,创建一个新的数组 length是数据长度的一个。然后创建一个复制方法 将所有数据的元素放入新数组中并将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。
我的问题是上述任务的最后一点。 “创建一个方法来返回新数组中的所有整数。”
当我的数组中没有包含任何元素时,这怎么可能?我正在尝试遵循分配指南。感谢。
答案 0 :(得分:0)
首先,您无法创建方法的对象。您可以创建类的对象。每当你有一个类时,你应该至少有一个构造函数。此外,您的方法似乎应该返回一些数组和int值。实际上,我认为这段代码甚至不会编译。我建议你复习一下你的书。
答案 1 :(得分:0)
实现一个采用整数数组和int x作为其大小的类。
您可以使用constructor来完成此操作。您可以使用this
表示法将传递给构造函数的参数保存为private变量和引用。 (见this)
public class TaskOne {
private int [] array;
private int x;
public TaskOne(int [] array, int x) {
this.array = array;
this.x = x;
}
}
在类中创建一个方法,创建一个长度为的新数组 比数据长度大一个
在这里,您只需创建一个新数组。确保将新数组的长度设置为array
的长度加1(以容纳额外元素x
)
private int [] data = null;
public void createNewArray() {
this.data = new int[this.array.length + 1];
}
然后创建一个方法将所有数据的元素复制到新数组中 并将x的值添加到数组的最后一个元素中。
public void populateArray() {
for (int t = 0; t < this.array.length; t++) {
data[t] = this.array[t];
}
data[array.length] = this.x;
}
创建一个方法以返回新数组中的所有整数
这被称为getter方法。你
public int [] getClone() {
return this.data;
}
您可能已经注意到我没有使用Arrays.copyOf
方法。这实际上是一步创建并填充数组,因此,我将两个步骤分开以符合问题。