思考许久还有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 星