[英]Print an array inside of object in Java
我有一個類和一個構造函數,用數字填充數組並對它進行排序:
public BinaryArray(int size){
data = new int[size];
for(int i:data){
data[i] = 10 + generator.nextInt(90);
}
Arrays.sort( data );
}
然后在我有主菜單的其他類中,我要打印數組:
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);
}
這應該做。
1-為數組創建一個吸氣劑。
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
public class BinaryArray
{
private int[] data;
public BinaryArray(int size)
{
data = new int[size];
for(int i: = 0; i < size; i++){
data[i] = 10 + generator.nextInt(90);
}
Arrays.sort( data );
}
public String toString()
{
for (int i : data)
{
System.out.println(i);
}
}
}
接着
BinaryArray searchArray = new BinaryArray( 15 );
System.out.println( searchArray );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.