正在回答
3回答
您好,因为在主方法中将数组定义在了循环内部,当每次循环时数组都会再次为空,因此显示时数据都是0。修改:将定义数组的操作写在循环外部。
祝学习愉快!
披着鱼皮的猫
2018-12-06 13:45:36
//定义第一个方法:插入数据 public int[] insertData() { Scanner sc = new Scanner(System.in); int[] arr = new int[10]; for (int i=0;i<9;i++) { System.out.println("请输入第"+(i+1)+"个数据"); arr[i]=sc.nextInt(); arr[9]=0; if(arr[i]==0) { System.out.println("输入的数据不能为0"); i--; } } return arr; //返回值 } //定义第二个方法:显示所有数据 public void showData(int[] a, int length) { System.out.println("显示所有的数据:"); for (int i =0;i<a.length;i++) { System.out.print(a[i]+" "); } System.out.println(); } public static void main(String[] args) { Scanner sc = new Scanner(System.in); DateManage date = new DateManage(); date.notice(); while(true) { int n = sc.nextInt(); int a[] = new int[10]; switch(n) { case 1: a=date.insertData(); date.notice(); break; case 2: date.showData(a, 10); date.notice(); break; case 3: int b = sc.nextInt(); int c = sc.nextInt(); date.insertAtArray(a, b, c);date.showData(a, 10); date.notice(); break; case 4: date.divThree(a);date.notice(); break; case 0: break; default: System.out.println("您数据的数据有误!"); } } }
我对主方法添加了a=date.insertDate();可是为什么之后还是输出的全为0呢,哪里出了问题呀?
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星