请问如何直接在主方法中直接调用insertData方法的返回值?

请问如何直接在主方法中直接调用insertData方法的返回值?

//每次我需要调用返回值的时候都会重新再运行insertData方法。。


public int[] insertData(){

int[] data=new int[5];

for(int i=0;i<data.length-1;i++) {

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

Scanner sc = new Scanner(System.in);

data[i]=sc.nextInt();

if(data[i]==0) {

System.out.print("插入的数据不能为零!请重新输入!");

System.out.println();

i=i-1;

continue;

}

}

System.out.println("数组元素为:");

for(int j=0;j<data.length-1;j++) {

System.out.print(data[j]);

System.out.print("  ");

}

return data;

}


//主方法

public static void main(String[] args) {

// 调用输出界面方法

Project jm = new Project();

jm.notice();

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

// 遍历扫描从键盘输入的数字

Scanner sc = new Scanner(System.in);

String str = sc.next();

int[] mainData;

mainData=id.insertData();

if (str=="0") {

System.out.println("退出程序!");

break;

}


switch (str) {


// 当键盘输入1时,调用insertData方法插入数据。之后调用notice方法显示下一步操作。

case "1":

mainData=id.insertData();

System.out.println();

Project not1 = new Project();

not1.notice();

break;

正在回答

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

2回答

同学你好,insertData()方法有返回值,所以可以在主方法中定义一个数组arr,case1后使用arr = insertData()方法的返回值,在显示数组中所有数据时,将arr作为参数传递到显示数组的方法中。

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

好帮手慕阿满 2019-01-23 17:08:34

同学你好,主方法中同学调用了两遍insertData()方法,case1后调用insertData()方法即可,其余地方不需要调用insertData()方法。

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

  • 提问者 慕神4564611 #1
    那如果我要在主方法中调用数组该怎么办呢?
    2019-01-23 18:21:38
  • 好帮手慕阿满 回复 提问者 慕神4564611 #2
    在主方法的case 1后调用insertData()方法即可。如:mainData=id.insertData();主方法的其他地方不需要调用。祝:学习愉快~
    2019-01-23 18:48:31
  • 提问者 慕神4564611 回复 好帮手慕阿满 #3
    我现在改写成这样了 case "1": Project id=new Project(); int[] mainData=id.insertData(); System.out.println(); Project not1 = new Project(); not1.notice(); break; 那如果我想把mainData中的数组作为showData()中的参数该怎么写呢?
    2019-01-23 20:12:29
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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