插入不了数据怎么回事,老师

插入不了数据怎么回事,老师

package MathDemo;

 

import java.util.Scanner;

 

public class Admin {

//定义显示提示信息方法

public void notice() {

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

System.out.println("   1--插入数据(不得超过5个数)");

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

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

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

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

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

 

}

 

// 定义插入数据方法

public int[] insertDate(int[] n) {

Scanner sc = new Scanner(System.in);

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

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

n[i] = sc.nextInt();

if (n[i] == 0) {

System.out.println("输入的数据不能为0! 请重新输入!");

i--;// 重新从第一个数开始赋值

continue;

 

}

}

System.out.print("你输入的元素为:");

for (int n1 : n) {

System.out.print(n1 + "  ");

 

}

return n;

 

}

 

// 定义显示所有数据方法

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

System.out.println("数据库中所有数据如下:");

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

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

 

}

 

}


//定义在指定位置处插入数据方法

public void insertAtArray(int[]a,int n,int k) {

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

Scanner sc=new Scanner(System.in);

n=sc.nextInt();

System.out.println("请输入要插入数的位置:");

k=sc.nextInt();

for(int i=a.length-1;i>=k;i--) {

a[i]=a[i-1];

}  

n=a[k];  

System.out.println("插入后数据整体为:");

for(int a1:a) {

System.out.print(a1+"  ");


}


}


//定义能被3整除的数据方法

public void divThree(int[]a) {

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

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

if(a[i]%3==0) {

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


}


}


}

 

public static void main(String[] args) {

Admin ad = new Admin();

int[] n1 = new int[5];// 给数组初始化长度

 

while (true) {

System.out.println();

Scanner sc = new Scanner(System.in);

ad.notice();

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

int sc1 = sc.nextInt();

switch (sc1) {

case 1:

ad.insertDate(n1);

break;

case 2:

ad.showDate(n1, n1.length);

break;

case 3:

ad.insertAtArray(n1, 1, 1);

break;

case 4:

ad.divThree(n1);

break;

case 0:

System.out.println("程序结束!");

System.exit(0);

break;

default:System.out.println("输入错误,请重新输入!!");

}

}

}

 

}


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

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

2回答
好帮手慕小班 2019-05-25 10:21:05

同学你好,这里在初始化成绩数组方法时,要注意方法的返回值是已经初始化好的数组,所以在主方法中通过调用insertDate方法的返回值,将返回值赋给n1!

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

这里的insertAtArray方法中的n1是没有初始化的数组,所以在case3中调用是数组为空,所以不能插入哦!修改建议如下:

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

这样就能够插入数据了哦!这里同学可以参考一下这个问答,都是没有方法的返回值赋值给主方法中的方法变量哦!

https://class.imooc.com/course/qadetail/107339

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

好帮手慕小班 2019-05-24 17:07:43

同学你好,是初始化成绩数组有问题吗,可以赋值运行同学的代码并没有问题呀:

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

建议同学贴出报错截图!便于老师为同学排查错误哦!

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

  • 提问者 慕仰8014678 #1
    是在指定位置插入数据,插入不了
    2019-05-24 19:09:09
  • 提问者 慕仰8014678 #2
    指定位置插入数据后显示不了插入的数据
    2019-05-24 19:10:03
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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