显示所有数据问题

显示所有数据问题

1
老师您好,

public class Textba {

//插入数组数据

public void insertData() {

int[] arr = new int[10];

Scanner s = new Scanner(System.in);

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

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

arr[i] = s.nextInt();

}

System.out.println("您输入的数组元素为:");

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

System.out.print(arr[i] + "  ");

}

}

//显示所有数据

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

}

// 显示提示信息

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 static void main(String[] args) {

Textba te = new Textba();

te.notice();

System.out.println("-------请输入相应操作数字-------");

Scanner ex = new Scanner(System.in);

int n = ex.nextInt();

while(0<n & n<5) {

switch (n) {

case 1:

te.insertData();

break;

case 2:

te.showData(a, length);

break;

}

}

if(n==0) {

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

}

}

}

1,我的插入数据,插入完成后,又重新开始了 问题出在哪里?

2,显示所有数据 能指点下吗? 怎么把方法1里面的 数据,调到方法2里面输出呢

3,我的主罗辑有问题吗,3--在指定位置处插入数据, 这个希望指点下? 

正在回答

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

4回答

1、关于插入数组的方法,方法是应该有返回值的public int[] insertData(),返回值就是数组,这样在主方法中调用时,才能接收到存好数据的数组。

2、显示数据,在方法中已经给定了数组的长度,方法体中直接循环输出就可以啦

3、主方法中,while直接设置成死循环就可以了,while(true)。另外,从键盘接收数据的代码要写在循环里才能保证重复执行。在指定位置处插入数据的方法,需要把指定位置以后的数据,从最后一个开始依次往后移动,然后再给指定位置的元素重新赋值。

如果我的回答对你有帮助,请采纳!祝学习愉快!

HeyJudy0 2017-01-20 19:05:54
提问者 慕粉1124253375 2017-01-09 14:59:00
老师您好,

public int[] insertData() {

int[] arr = new int[10];

Scanner s = new Scanner(System.in);

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

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

arr[i] = s.nextInt();  }

System.out.println("您输入的数组元素为:");

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

System.out.print(arr[i] + "  ");  }

return arr;  }

//2显示所有数据

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

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

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

//主方法中

while(true) {

Scanner ex = new Scanner(System.in);

int n = ex.nextInt();

switch (n) {

case 1:

te.insertData();

break;

case 2:

int[] arr = te.insertData();

te.showData(arr, arr.length);

break;   }

1,为什么执行case2时,必须要把insertData() 则里面的流量执行一遍,

我只想要insertData()里面返回的数据  怎么办呢?

提问者 慕粉1124253375 2017-01-09 11:03:38

老师您好,显示数据还是不明白, 

方法1当中已经把 插入的数组数据 输入 System.out.print(arr[i] + "  ");  了。

那么当方法2执行时该怎么让这个arr[i]  也在方法2中显示呢? 

arr[i]是 方法1当中的,方法2应该不可以使用吧?

  • 先要解决第一个插入数组的问题,方法的返回值是数组。在主方法中进行方法调用,把方法调用的结果赋值给一个数组。Textba tb=new Textba();int[] arr=tb.insertData();这是主方法中的代码。这样的话,主方法中就有一个数组arr[]了,把它的数据循环输出。
    2017-01-09 11:37:45
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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