Java 打印没有元素的数组?

Java 打印没有元素的数组?,java,arrays,Java,Arrays,我有几个问题。我正在做家庭作业,但遇到了一些令人困惑的事情。(我正在上入门课,很抱歉我犯了错误。) 实现一个类,该类以整数数组和int x作为其 尺寸。在类内创建一个方法,该方法创建一个新数组 长度比数据的长度大一个。然后创建一个要复制的方法 将所有数据的元素添加到新数组中,并将x的值添加到 数组的最后一个元素。创建一个方法来返回所有整数 在新阵列中 这是我的 package taskone; import java.util.*; class Arrayplus1 { int x

我有几个问题。我正在做家庭作业,但遇到了一些令人困惑的事情。(我正在上入门课,很抱歉我犯了错误。)

实现一个类,该类以整数数组和int x作为其 尺寸。在类内创建一个方法,该方法创建一个新数组 长度比数据的长度大一个。然后创建一个要复制的方法 将所有数据的元素添加到新数组中,并将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(); } } 一揽子任务一; 导入java.util.*; 类Arrayplus1{ int x; int数据[]; 无效示例(int x){ 这个.x=x+1; 这个.data=newint[x]; } void incremaseSizeOfarray(int incrementSize){ int copiedArray[]=Arrays.copyOf(data,data.length+incrementSize); 数据=复制阵列; } void printall(){ System.out.println(Arrays.toString(data)); } } 公共类TaskOne{ 公共静态void main(字符串[]args){ 示例任务=新示例(); task.printall(); } } 这只是返回null

我的问题是上述任务的最后一点。“创建一个方法以返回新数组中的所有整数。”


当我的数组中没有包含任何元素时,这怎么可能呢?我正在努力遵循作业指导原则。谢谢。

首先,您不能创建方法的对象。可以创建类的对象。当你有一个类时,你应该至少有一个构造函数。另外,您的方法似乎应该返回一些数组和int值。实际上,我甚至不认为这段代码可以编译。我建议你复习一下你的书

实现一个以整数数组和整数x作为其大小的类

您可以通过使用。您可以使用
this
符号将传递给构造函数的参数保存为变量和引用。(见附件)

在类内创建一个方法,该方法创建一个长度为 是否大于数据的长度

在这里,您只需创建一个新数组。确保将新数组的长度设置为
array
的长度加上1(为了容纳额外的元素,
x

然后创建一个方法将所有数据元素复制到新数组中 并将x的值添加到数组的最后一个元素中


您可能已经注意到,我没有使用
数组.copyOf
方法。这实际上是在一个步骤中创建和填充数组,因此,我将这两个步骤分开以符合问题

似乎您试图用
printall
方法满足最后一个要求。但要求返回所有整数,而不是打印它们。此外,您甚至没有正确实现第一个要求。
将x的值添加到数组的最后一个元素中
-您应该将x添加到数组中,因此它不会为空。我建议您从空数组开始,而不是空数组,即
int[]data={}
new example()
创建类的对象
example
,我没有看到名为
example
的类。作业说明“实现一个以整数数组和整数x为大小的类”。对我来说,这意味着其中一个构造函数参数是一个已经包含数据的整数数组。第三句中的方法应该将这些数据复制到新数组中。Java确实支持创建引用方法的对象,并且始终有一个默认构造函数。创建类的对象(每个类隐式地成为对象类的子类的副作用)不需要构造函数。
public class TaskOne {
    private int [] array;
    private int x;
    public TaskOne(int [] array, int x) {
        this.array = array;
        this.x = x;
    }
}
private int [] data = null;

public void createNewArray() {
    this.data = new int[this.array.length + 1];
}
public void populateArray() {
    for (int t = 0; t < this.array.length; t++) {
        data[t] = this.array[t];
    }
    data[array.length] = this.x;
}
public int [] getClone() {
    return this.data;
}