关于调用插入数据的方法异常

关于调用插入数据的方法异常

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public int[] insertData(){   
        Scanner sc=new Scanner(System.in);
        int a=0;
        int b=10;
        int[] array=new int[b];
        for(int y=0;y<b-1;y++){
            a++;
                System.out.println("请输入第"+a+"个数据:");
                array[y]=sc.nextInt();
                }
        return array;
    }
    public static void main(String[] args) {
        int[] array=new int[10];
        gongcheng xinxi=new gongcheng();
        xinxi.notice();
        Scanner sc=new Scanner(System.in);
        int q=sc.nextInt();//操作数
        switch(q){
        case 1:gongcheng insertData=new gongcheng();
        array=insertData.insertData();
        System.out.println(array);
        gongcheng showDate=new gongcheng();
        int[] array1=showDate.showDate(array);
        xinxi.notice();
        }
        }
        插入完数据后结果老是会多输出[I@1b6d3586;这是怎么回事啊?


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

因为case1语句中的 System.out.println(array);这句代码是直接输出数组的,所以会输出[I@1b6d3586,如果想要输出数组中的元素应该通过for循环遍历,或者调用showDate()方法就可以了。把System.out.println(array);这段代码注释掉,就不会出现了。另外insertData()方法中应该加入插入元素不为0的判断,题意是不允许插入数据0的。

提问者 慕设计8107682 2017-07-14 23:28:02

已经弄好了.谢谢.不过插入元素不为0的判断还是没思路

  • 插入数据时,不要把sc.nextInt()的值赋值给数组元素,可以赋值给一个变量n,然后判断n是否等于0,如果n等于0,就输出错误提示,同时把循环变量的值减1,否则再把n的值赋值给数组元素。
    2017-07-15 09:57:21
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码