思考许久还有3个地方还是没有思路= = 有哪位大佬帮分析一下吗
package com.imooc;
import java.util.Scanner;
public class Demo {
public int[] insertData() {
//插入数据
}
public void showData(int[] a,int length) {
//显示所有数据
}
public void insertAtArray(int[] a,int n,int k) {
//在指定位置处插入数据
}
public void divThree(int[] a) {
//查询能被3整除的数据
for(int i=0;i<a.length;i++) {
if(a[i]%3==0) {
System.out.println(a[i]+" ");
}
}
}
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("*******************");
System.out.println("请输入对应数字进行操作:");
}
public static void main(String[] args) {
Demo dm = new Demo();
int arr[] = new int[10];
while(true) {
dm.notice();
Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
if(n==0) {
System.out.println("退出程序");
break;
}else {
switch(n) {
case 1:
dm.insertData();
break;
case 2:
dm.showData(arr, n);
break;
case 3:
System.out.println("请输入要插入的数据:");
int i = sc.nextInt();
System.out.println("请输入要插入数据的位置:");
int j = sc.nextInt();
dm.insertAtArray(arr, i, j);
break;
case 4:
dm.divThree(arr);
break;
}
}
}
}
}
源自:Java方法
8-1 综合案例需求
37
收起
正在回答
2回答
插入数据:
要循环输入数组长度减一个数据,并在每次输入时判断输入的数据是否为0,若为0则循环变量减一,并调用continue语句结束当前循环继续下一次循环重新输入数据;若不为0,则赋值给数组元素a[i]。
显示所有数据:
该方法要考虑两种情况,即在指定位置处插入数据前和在指定位置处插入数据后。在指定位置处插入数据前,应该显示9个数据,而在指定位置插入数据后,应该显示10个数据。到底显示9个还是10个数据的判断标准就是最后一个数组元素是否为0。因此可以在循环中加入一个数组元素是否为0的判断,如果为0则不输出该元素。
在指定位置插入数据:
当要插入的位置是数组最后一个位置时,直接将要插入的数据赋值到数组的最后一个位置;当要插入的位置不是数组的最后一个位置时,要从数组的最后一个元素开始到要插入的位置处的元素结束,从后往前依次将元素后移一位,最后将要插入的数据赋值到指定位置。
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星