簡體   English   中英

打印數組中元素的地址

[英]Printing the Address of Elements in an Array

我是 Java 新手,所以我正在嘗試這段代碼,但它顯示的是數組中元素的地址。 如何打印元素而不是打印數組中這些元素的地址?

for(int i=0;i<number;i++){
        array[i]=scan.nextInt();
    }
    for(int i=0;i<number2;i++){
        array2[i]=scan.nextInt();
    }
    if(array.length==0){
        System.out.print(arr=new int[array2[0]]);
        System.out.print(arr=new int[array2[1]]);
    }
    else if(array.length==1){
        System.out.println(arr=new int[array[0]]);
        System.out.print(arr=new int[array2[1]]);
    }
    else if(array.length==2){
        System.out.println(arr=new int[array[0]]);
        System.out.print(arr=new int[array[1]]);
    }
    else{
        System.out.println("no");
        }

簡單替換:

System.out.print(arr=new int[array2[0]]);

為了

System.out.print(array2[0]);

在每一行

您在每個 System.out 調用中聲明新數組。 您在控制台中看到的是分配的結果,我猜這就是您的新對象的地址。

編輯

如果要將這些值復制到新數組中:

int arr[] = new int[2];

if(array.length==0){
    arr[0] = array2[0];
    arr[1] = array2[1];     
}
else if(array.length==1){
    arr[0] = array[0];
    arr[1] = array2[1];
}
else if(array.length==2){
    arr[0] = array[0];
    arr[1] = array[1];
}
else{
    System.out.println("no");
}

System.out.println(arr[0]);
System.out.println(arr[1]);

不要總是創建一個新數組。 只需創建一個數組並使用 for 循環遍歷它。 然后通過使用ar[<index>]訪問它打印出每個元素。

int[] ar = new int[]{1,2,3,4};

for(int i = 0; i < ar.length; i++){
    System.out.println(ar[i]);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM