请问助教代码哪里有错,运行总是出错
package zuoye; import java.util.Scanner; public class Homework { //输入数据 public int[] insertData(){ int[] a=new int[8]; for(int b=0;b<9;b++){ System.out.println("请输入第"+(b+1)+"个数据"); Scanner in=new Scanner(System.in); a[b]=in.nextInt(); } return a; } //显示数据 public void showData(int[] a){ System.out.println("数组元素为:"); for(int lengt=0;lengt<a.length;lengt++){ System.out.print(a[lengt]+" "); } } //插入数据 public void insertAtArrav(int[] a,int n,int k){ Scanner insert=new Scanner(System.in); System.out.println("请输入要插入的数据:"); n=insert.nextInt(); System.out.println("请输入要插入的数据的位置:"); k=insert.nextInt(); for(int c=a.length;c>=k;c--){ a[c]=a[c-1]; } a[k-1]=n; Homework hw=new Homework(); hw.showData(a); } //显示数组中能被3整除的元素 public void divThree(int[] a){ System.out.println("数组中能被3整除的元素为:"); for(int d=0;d<a.length;d++){ if(a[d]/3==0)System.out.print(a[d]+" "); } } //打印主菜单 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("************************"); System.out.println("请输入对应的数字进行操作:"); } //主方法 public static void main(String[] arg){ Homework hw=new Homework(); int i; int a[]=null; do{ Scanner sc=new Scanner(System.in); hw.notice(); i=sc.nextInt(); switch(i){ case 0: System.out.println("退出程序");break; case 1://调用方法insertData hw.insertData();break; case 2://调用方法showData hw.showData(a);break; case 3://调用方法insertAtArrav int n=0,k=0; hw.insertAtArrav(a,n,k);break; case 4://调用方法divThree hw.divThree(a);break; default: System.out.println("输入有误,请根据提示进行输入");break; } }while(i!=0); } }
61
收起
正在回答 回答被采纳积分+1
3回答
姜饼
2017-03-19 21:55:47
您好, 首先在main方法中,您的代码 : int a[]=null;在这您给数组a赋了空值,那么在你输入2,3,4等操作的情况下 数组为空 ,所以为报NullPointerEcxeption的异常,俗称空指针。
只有在输入1,执行数据操作的时候才不会报错,因为:在insertData的方法中,int[] a=new int[8];您又创建了一个名为a的数组并且实例化了。注意 这里的a数组和你在main方法中的a数组并不是一个。因为作用域不同。该题目所有的功能应该是对应一个数组做操作,也就是说只能有int[] a一个a名称的数组,建议您好好看一下题目需求。
慕粉1728086137
2017-03-19 17:42:25
不管运行1,2,3,4都是这样的错误。
Android零基础入门2018版
- 参与学习 人
- 提交作业 5461 份
- 解答问题 7235 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星