在Java中打印对象内部的数组

在Java中打印对象内部的数组,java,object,Java,Object,我有一个类和一个构造函数,它用数字填充数组,并对数组进行排序: public BinaryArray(int size){ data = new int[size]; for(int i:data){ data[i] = 10 + generator.nextInt(90); } Arrays.sort( data ); } 然后,在我的另一个类中,我有main,我想打印数组: BinaryArray searchArray =

我有一个类和一个构造函数,它用数字填充数组,并对数组进行排序:

public BinaryArray(int size){

    data = new int[size];
    for(int i:data){
        data[i] = 10 + generator.nextInt(90);
    }        
    Arrays.sort( data );
}
然后,在我的另一个类中,我有main,我想打印数组:

BinaryArray searchArray = new BinaryArray( 15 ); //  create the Object

    for(BinaryArray i:searchArray){
        System.out.println( searchArray[i] );
    }
public int[] getArray() {
    return data;
}
但这是错误的。。我也编写了代码,但它会打印其他内容

BinaryArray searchArray = new BinaryArray( 15 );
System.out.println( searchArray );
BinaryArray searchArray = new BinaryArray( 15 );
System.out.println( searchArray );

在拥有数组的类中创建getter方法:

BinaryArray searchArray = new BinaryArray( 15 ); //  create the Object

    for(BinaryArray i:searchArray){
        System.out.println( searchArray[i] );
    }
public int[] getArray() {
    return data;
}
然后在主方法中使用该方法:

BinaryArray searchArray = new BinaryArray(15);
for (int i : searchArray.getArray()) {
    System.out.println(i);
}
编辑

您的构造函数有一个主要错误:

for(int i:data){
    data[i] = 10 + generator.nextInt(90);
}
我将始终设置为0,因为此数组中的每个字段都是用0初始化的。因此,只有第一个索引将被设置为随机数。其他人将保留他们的0

要解决此问题,请改用此循环:

for(int i = 0; i < data.length; i++){
  data[i] = 10 + generator.nextInt(90);
}

在拥有数组的类中创建getter方法:

BinaryArray searchArray = new BinaryArray( 15 ); //  create the Object

    for(BinaryArray i:searchArray){
        System.out.println( searchArray[i] );
    }
public int[] getArray() {
    return data;
}
然后在主方法中使用该方法:

BinaryArray searchArray = new BinaryArray(15);
for (int i : searchArray.getArray()) {
    System.out.println(i);
}
编辑

您的构造函数有一个主要错误:

for(int i:data){
    data[i] = 10 + generator.nextInt(90);
}
我将始终设置为0,因为此数组中的每个字段都是用0初始化的。因此,只有第一个索引将被设置为随机数。其他人将保留他们的0

要解决此问题,请改用此循环:

for(int i = 0; i < data.length; i++){
  data[i] = 10 + generator.nextInt(90);
}
这应该可以做到

1-为数组创建一个getter

public int[] getArray() {
 return data;
}
2-显示阵列

BinaryArray searchArray = new BinaryArray( 15 ); // create the Object

for(int i:searchArray.getArray()){
    System.out.println( i );
}
这应该可以做到

1-为数组创建一个getter

public int[] getArray() {
 return data;
}
2-显示阵列

BinaryArray searchArray = new BinaryArray( 15 ); // create the Object

for(int i:searchArray.getArray()){
    System.out.println( i );
}

首先,在上面的代码中,我始终等于0,您必须使用索引进行迭代

data = new int[size];
for(int i:data){
    data[i] = 10 + generator.nextInt(90);
}
您可以在BinaryArray中实现toString


首先,在上面的代码中,我始终等于0,您必须使用索引进行迭代

data = new int[size];
for(int i:data){
    data[i] = 10 + generator.nextInt(90);
}
您可以在BinaryArray中实现toString