关于作业,为什么显示数据的结果全都为0?

关于作业,为什么显示数据的结果全都为0?

http://img1.sycdn.imooc.com//climg/5c07c5d100018ace07820286.jpg

http://img1.sycdn.imooc.com//climg/5c07c5d1000138c609800429.jpg

http://img1.sycdn.imooc.com//climg/5c07c5d10001d32b07240432.jpg

http://img1.sycdn.imooc.com//climg/5c07c5d30001a3d607880325.jpg

如图为插入数据方法,显示数据方法,以及主方法。自己比较愚钝,还望指点。

正在回答

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

3回答

您好,因为在主方法中将数组定义在了循环内部,当每次循环时数组都会再次为空,因此显示时数据都是0。修改:将定义数组的操作写在循环外部。

http://img1.sycdn.imooc.com//climg/5c08c8400001a1b705780203.jpg

祝学习愉快!

提问者 披着鱼皮的猫 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呢,哪里出了问题呀?

好帮手慕阿满 2018-12-06 10:13:54

同学你好,插入数据的方法中使用return arr;返回了插入数据后的数组,在主方法的case 1后应该接收一下返回的数组。如:a = data.insertData(),这样才将插入的数据传给主方法,同时在其他的方法中也能使用该数组中的元素。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快!

  • 提问者 披着鱼皮的猫 #1
    老师您好,我在case1中添加了a = data.insertData();这句话,可是输出的结果还是全为0,我找不到自己哪里出错了。我把部分代码又展示了一下,在回答中。
    2018-12-06 13:47:40
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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