请问助教代码哪里有错,运行总是出错
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 星