问题一:程序运行直接跳过提示信息?问题二:重新对数组进行添加元素,在查询数组里面的元素没有变?
package com.imooc.zy;
import java.util.Scanner;
public class Main {
//提示信息
public void notice() {
System.out.println();
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 int[] insertData() {
int a[] = new int[10];
Scanner sc =new Scanner(System.in);
for(int i=0;i<a.length-1;i++) {
System.out.println("请输入你要插入的第"+(i+1)+"个数字!");
int n=sc.nextInt();
if (n==0) {
System.out.println("数据不能为0");
i--;
continue;
}
a[i]=n;
}
System.out.println("数组元素为:");
for(int x:a) {
System.out.print(x+" ");
}
System.out.println();
return a;
}
//显示所有数据
public void showData(int[] a,int length) {
System.out.println("数组元素为:");
for(int i=0;i<length;i++) {
if (a[i]!=0) {
System.out.print(a[i]+" ");
}
}
System.out.println();
}
public static void main(String[] args) {
Main main = new Main();
boolean flag = true;
Scanner sc = new Scanner(System.in);
int[] a = new int[10];
a=main.insertData();
while(flag) {
main.notice();
System.out.println("请输入对应的数字进行操作:");
int input = sc.nextInt();
switch (input) {
case 0:
flag = false;
System.out.println("系统退出!!");
break;
case 1:
main.insertData();
break;
case 2:
main.showData(a,a.length);
break;
default:
System.out.println("输入错误!!!");
break;
}
}
sc.close();
}
}
正在回答 回答被采纳积分+1
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星