gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 07:45:23 25 4
gpt4 key购买 nike

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

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] );
}

但它错了..我也编写了这个但是它打印了其他东西..

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

最佳答案

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

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);
}

i 将始终设置为 0,因为此数组中的每个字段都是用 0 初始化的。因此只有第一个索引将设置随机数。其他人将保留他们的 0。

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

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

关于java - 在Java中打印对象内部的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26295102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com