标题:数组输出乱码,@.....
只看楼主
渐渐鱼
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2018-5-11
结帖率:90%
 问题点数:0 回复次数:4 
数组输出乱码,@.....
程序代码:
import java.util.*;
public class A{
public static void main(String args[]){
int arrays[]= new int[10];

        //用fill方法给数组赋值Array.fill(数组名,fromindex(包括),toindex(不包括),value)
        Arrays.fill(arrays,5);

        Arrays.fill(arrays,1,3,7);//arrays[1],arrays[2]赋值为7

        System.out.println("赋值后数组:");

        System.out.println(arrays);

        //用sort方法排序(默认升序)

        Arrays.sort(arrays);

        System.out.println("排序后数组");

        System.out.println(arrays);

        //判断数组是否相等

        int krrays[]=new int [10];

        Arrays.fill(krrays,9);

        System.out.println(Arrays.equals(arrays,krrays));

        //查找数组元素

        System.out.println("返回数组元素的位置");

        System.out.println(Arrays.binarySearch(arrays,5));
}}
..


运行结果:赋值后数组:
[I@6b143ee9
排序后数组
[I@6b143ee9
false
返回数组元素的位置
4
搜索更多相关主题的帖子: 数组 int System out println 
2018-06-15 20:40
Gband
Rank: 1
等 级:新手上路
帖 子:41
专家分:7
注 册:2017-10-13
得分:0 
arrays储存的是一个int[]类的地址,你让程序输出的是arrays的地址,并非他的元素
2018-06-15 21:57
疯狂的小a
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:39
帖 子:423
专家分:1871
注 册:2018-2-6
得分:0 
程序代码:
import java.util.*;
public class A{
public static void main(String args[]){
int arrays[]= new int[10];

        //用fill方法给数组赋值Array.fill(数组名,fromindex(包括),toindex(不包括),value)
        Arrays.fill(arrays,5);

        Arrays.fill(arrays,1,3,7);//arrays[1],arrays[2]赋值为7

        System.out.println("赋值后数组地址值:");

        System.out.println(arrays);
        
        //打印数组
        for(int i=0;i<arrays.length;i++){
            if(i==0){
                System.out.print("[ "+arrays[i]);
            }else if(i!=0 && i!=arrays.length-1){
                System.out.print(" "+arrays[i]);
            }else{
                System.out.println(" "+arrays[i]+" ]");
            }
        }

        //用sort方法排序(默认升序)

        Arrays.sort(arrays);

        System.out.println("排序后数组地址值");

        System.out.println(arrays);
        
        //打印排序后数组
        for(int i=0;i<arrays.length;i++){
            if(i==0){
                System.out.print("[ "+arrays[i]);
            }else if(i!=0 && i!=arrays.length-1){
                System.out.print(" "+arrays[i]);
            }else{
                System.out.println(" "+arrays[i]+" ]");
            }
        }

        //判断数组是否相等

        int krrays[]=new int [10];

        Arrays.fill(krrays,9);

        System.out.println(Arrays.equals(arrays,krrays));

        //查找数组元素

        System.out.println("返回数组元素的位置");

        System.out.println(Arrays.binarySearch(arrays,5));
}}

可以看出排序后数组在内存中地址值没有改变

假如人生没有梦想,和咸鱼有什么区别!
2018-06-16 10:35
渐渐鱼
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2018-5-11
得分:0 
回复 2楼 Gband
修改后可以了,谢啦
2018-06-16 12:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-487935-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.232011 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved