老师不好意思!刚才上传代码,忘选择语言了!老师请看这个吧~
import java.util.Scanner;
public class DataTest {
int[] arr = new int[10]; //定义一个长度为10的数组
//显示提示信息的方法
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 int[] insertData() {
Scanner sc = new Scanner(System.in);
for (int i = 0; i < 9; i++) {
System.out.println("请输入第" + (i + 1) + "个数据");
arr[i] = sc.nextInt();
if (arr[i] == 0) {
System.out.println("输入的值不能为0!");
i--;
}
}
System.out.println("数组元素为:");
for (int a : arr) { //使用foreach循环遍历数组
if (a == 0)
break;
System.out.print(a + " ");
}
System.out.println();
return arr;
}
//显示数据功能
public void showData(int[] arr, int length) {
System.out.println("数组元素为:");
if (arr[length - 1] == 0) { //判断数组是原始数组还是插入后的数组
for (int i = 0; i < length - 1; i++)
System.out.print(arr[i] + " ");
} else {
for (int i = 0; i < arr.length; i++)
System.out.print(arr[i] + " ");
}
System.out.println();
}
//在指定位置插入数据功能
public void insertAtArray(int[] arr, int n, int k) {
for (int i = arr.length - 1; i >= k; i--) { //用for循环把前一个数赋值给后一个数,留出位置
arr[i] = arr[i - 1];
}
arr[k-1] = n;
for (int a : arr) {
System.out.print(a + " ");
}
System.out.println();
}
//查询能被3整除的功能
public void divThree(int[] arr) {
for (int i = 0; i < arr.length; i++) {
if (arr[i] % 3 == 0) {
System.out.print(arr[i] + " ");
}
}
System.out.println();
}
//逻辑区
public static void main(String[] args) {
DataTest dt = new DataTest(); //创建对象并实例化
dt.notice(); //调出用户界面
int n;
do{ //用do...while循环,选择功能
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
int[] data = dt.arr; //利用(对象.属性)给数组传值(想了好久很关键!)
switch (n) {
case 1:
dt.insertData(); //调用插入功能
dt.notice(); //再次调出用户界面
break;
case 2:
dt.showData(data, 10); //给显示数据功能的方法传值
dt.notice(); //再次调出用户界面
break;
case 3:
System.out.println("请输入要插入的数据:");
int n1 = sc.nextInt();
System.out.println("请输入要插入数据的位置");
int k = sc.nextInt();
dt.insertAtArray(data, n1, k);
dt.notice();
break;
case 4:
dt.divThree(data);
dt.notice();
break;
case 0:
continue;
default:
System.out.println("输入数字无效!请您输入0-4之间的数字!");
dt.notice();
}
}while(n!=0);
System.out.println("程序终止啦~");
}
}1
收起
正在回答 回答被采纳积分+1
2回答
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星