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

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

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下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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