任务描述

一、 项目准备

开发工具:JDK、Eclipse

需求分析:见课程视频,并参考评分标准。

效果演示:见课程视频。
二、整体要求

1、 完成需求分析和详细设计中所涉及到的所有功能。

2、 代码结构要层次分明,代码编辑思路要清晰、整洁。

3、 要求Java代码书写、命名符合规范,并在代码中添加必要的注释

4、 程序运行效果与提供的页面效果图、结构保持一致

5、 将作业项目导出(Export)成压缩文件

三、详细设计

设计一个类DataManage,包括如下的方法:

  • 插入数据:public int[] insertData() {}
  • 显示所有数据:public void showData(int[] a, int length) {}
  • 在指定位置处插入数据: public void insertAtArray(int[] a, int n, int k) {}
  • 查询能被3整除的数据:public void divThree(int[] a) {}
  • 显示提示信息:public void notice();
  • 主方法

每个方法的具体要求可以参见评分标准。

注意:在8-1小节最后介绍了如何提交作业,作业中一定要包括.java文件呦!

评分标准是什么?

规范【10分】

  • 每个类都封装在自己独立的 ".java"文件中;
  • 文件、class、成员变量命名规范;
  • 代码结构要层次分明;
  • Java代码规范及添加适量注释。

程序整体运行效果【10分】

  • 程序正常运行,且满足效果图要求;
  • 信息间分隔符“*”号数量不做统一要求。

插入数据方法【15分】

  • 能够完成需求中向数组插入数据的方法。
  • 要求插入的数据不能为0

显示所有数据方法【10分】

  • 能够完成需求中显示所有数据的方法。
  • 假设数组长度为10,要能完成在指定位置处插入数据前显示9个数据,在指定位置处插入数据后显示10个数据。提示:以最后一个元素是否为0作为判断标准。

在指定位置处插入数据方法【15分】

  • 能够完成需求中在指定位置处插入数据的方法。
  • 要求不能覆盖原有的数据

查询能被3整除的数据的方法【12分】

  • 能够完成需求中查询能被3整除的数据的方法。
  • 要求如果不存在能被3整除的数据,要给出提示信息

显示提示信息菜单的方法【3分】

  • 能够完成显示提示信息菜单的方法。

主方法【25分】

要求如下:

  • 使用switch结构完成主体功能,并调用方法完成演示效果中所示的功能。
  • 如果输入0-4以外的数字,应给出错误提示。
package moocProj;

import java.util.Scanner;

public class DataManage {
    
//提示信息
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(int[] arr) {
    int count=1;
    Scanner sc=new Scanner(System.in);
    for(int i=0;i<arr.length-1;i++) {
        System.out.println("请输入第"+count+"个数据:");
        arr[i]=sc.nextInt();
        if(arr[i]!=0) {
            count++;
        }else {
            System.out.println("输入的数据不能为0,请重新输入!");
        }
        
    }
    return arr;
}

//显示所有数据
public void showData(int[] a,int length) {
    System.out.println("数组元素为:");
    for(int i=0;i<length;i++) {
        System.out.print(a[i]+"  ");
    }
    System.out.println();
}
//查询能被3整除的数据
public void divThree(int[] a) {
    int cnt=0;
    System.out.print("数组中能被3整除的元素为:");
    for(int i=0;i<a.length;i++) {
        if(a[i]%3==0) {
            System.out.print(a[i]+"  ");
            cnt++;
        }
    }
    if(cnt==0) {
        System.out.print("不存在能被3整除的数据!");
    }
    System.out.println();
}
//在指定位置处插入数据:
public void insertAtArray(int[] a) {
    Scanner atArray=new Scanner(System.in);
    System.out.println("请输入要插入的位置:");
    int n=atArray.nextInt();
    for(int l=9;l>n;l--) {
        a[l]=a[l-1];
        
    }
    Scanner data=new Scanner(System.in);
    System.out.println("请输入要插入的数据:");
    int k=data.nextInt();
    if(k!=0) {
        a[n]=k;
    }else {
        System.out.println("输入的数据不能为0,请重新输入!");
    }
    
}
//主方法
public static void main(String[] args) {
    int[] arr=new int[10];
    DataManage show=new DataManage();
    boolean flag=true;        //程序循环运行标志,使程序一直运行,当标志变为false时退出程序
    while(flag) {
        DataManage ms=new DataManage();
        ms.notice();
        Scanner in=new Scanner(System.in);
        int flag1=in.nextInt();        //flag1为用户输入的操作指令
        switch(flag1) {
        case 1:
            DataManage insert=new DataManage();
            insert.insertData(arr);
            show.showData(arr, 9);
            break;
        case 2:
            if(arr[9]==0) {
                show.showData(arr, 9);
            }else {
                show.showData(arr, 10);
            }                
            break;
        case 3:
            DataManage at=new DataManage();
            at.insertAtArray(arr);
            show.showData(arr, 10);
            break;
        case 4:
            DataManage three=new DataManage();
            three.divThree(arr);
            break;
        case 0: 
            flag=false;
            break;
        default:
            System.out.println("请输入正确的数字指令!");
        }
    }
    
}

}
最后修改:2019 年 12 月 31 日 11 : 19 PM
如果觉得我的文章对你有用,请随意赞赏