请问老师在运行主方法的时候,输入1给数组赋值以后再输入2却都显示数组元素为0
package mooc;
import java.util.Scanner;
public class Work {
//插入数据
public int[] insertData(int[] arr) {
Scanner sc=new Scanner(System.in);
arr=new int[10];
for(int i=0,j=1;i<(arr.length-1);i++,j++) {
System.out.println("请输入第"+j+"个数据:");
arr[i]=sc.nextInt();
if(arr[i]==0) {
System.out.println("不能输入0");
continue;
}
}
System.out.println("数组元素为:");
for(int i=0;i<arr.length-1;i++) {
System.out.print(arr[i]+" ");
}
System.out.println();
return arr;
}
//显示数据
public void showData(int[] a,int length) {
System.out.println("数组元素为:");
for(int k=0;k<a.length;k++) {
System.out.print(a[k]+" ");
}
System.out.println();
}
//在指定位置处插入数据
public void insertAtArray(int[] a) {
System.out.print("请输入要插入的数据:");
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
System.out.print("请输入要插入的位置(范围0~9):");
int k=sc.nextInt();
for(int i=a.length-1;i>=k;i--) {
a[i]=a[i-1];
}
a[k]=n;
}
//查询能被3整除的数据
public void divThree(int[] a) {
int[] arg;
for(int i=0;i<a.length;i++) {
if(a[i]%3==0) {
System.out.println(a[i]+" ");
}
else {
System.out.println("没有能被3整除的数据");
}
}
}
//显示提示信息
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[] args) {
int[] arr=new int[10];
while(true){
Work ds=new Work();
ds.notice();
Scanner dc=new Scanner(System.in);
int num=dc.nextInt();
switch(num)
{
case 1:
ds.insertData(arr);break;
case 2:
ds.showData(arr,arr.length);break;
case 3:
ds.insertAtArray(arr);break;
case 4:
ds.divThree(arr);break;
case 0:
System.out.println("退出程序");
System.exit(0);break;
default:
System.out.println("输入错误,请重新输入");break;
}
}
}
}
正在回答
您好,已经将arr数组给了插入数据的方法,那么在插入数据时直接使用,并返回即可。不需要在插入数据时再次arr=new int[10];。祝学习愉快!
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星