繁体   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