return 返回的数组a值为什么不能直接调用

return 返回的数组a值为什么不能直接调用

import java.util.Scanner;


public class zuoyedome {

public void notice() {

System.out.println("******************");

System.out.println("1--插入数据");

System.out.println("2--显示所有数据");

System.out.println("3--在指定位置处插入数据");

System.out.println("4--查询能被3整除的数据");

System.out.println("0--退出");

System.out.println("******************");

}

public int[] insertData() {

System.out.println("请输入数据");

int[] a=new int[10];

for(int i=0;i<8;i++) {

Scanner sc=new Scanner(System.in);

System.out.println("请输入第"+(i+1)+"个数字");

a[i]=sc.nextInt();

}

return a;

}

public void showData(int[] a,int length) {

for(int i=0;i<a.length;i++) {

System.out.println(a[i]+" ");

}

}


public static void main(String[] args) {

// TODO Auto-generated method stub      

  zuoyedome one=new zuoyedome();   

  one.notice();

  System.out.println("请输入对应的数字进行操作");

  Scanner sc=new Scanner(System.in);

  while(sc.hasNext()) {

            switch (sc.nextLine()) {

            case "1":   

  one.insertData();   

  break;

  case "2":

  System.out.println("显示所有数据");  

  one.showData(a,10);

  break;

  case "3":

  System.out.println("请输入要插入的数据");

  break;

  case "4":

  System.out.println("能被3整除的数据为:");

  break;

            }

        }

 

            

  }

  

 

 

 

}


正在回答 回答被采纳积分+1

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

1回答
慕沐020336 2019-02-22 23:41:48

有返回值的方法调用时需要赋值给一个变量(此处需赋值给一个整型数组),不妨先定义一个数组,int[] array = new int[10];  array = one.insertData();

  • 提问者 qweweikun #1
    那我在使用新数组进行传值的时候他又会调用一次插入数据的方法,不会显示原本插入的数据
    2019-02-23 09:36:38
  • 慕沐020336 回复 提问者 qweweikun #2
    通过在主方法中加入int[] array = new int[10]; array = one.insertData(); 把你要输入的数据通过insertData方法return给了array,array数组就会有你原本插入的数据,在之后另外的方法中,如果需要原本插入的数据,把数组名array作为参数即可,例如调用查找被3整除,你可以dataSyst.divThree(array); 这样你就不需要再次插入数据
    2019-02-23 10:23:25
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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