【技能实训】Day01

news2024/11/15 21:22:45

文章目录

  • 任务1 项目准备
    • 一、开发环境
    • 二、系统简介
    • 三、项目创建
  • 任务2
    • 【任务2.1】菜单项设计及其测试
    • 【任务2.2】使用数组存储采集的数据
    • 【任务2.3】控制显示采集的数据

任务1 项目准备

一、开发环境

1.JDK8下载及其环境变量配置(JDK8以上版本)
2.IDE :Eclipse 或其他IDE
3.IDE的设置(可选):背景设置、编码设置等
4.数据库安装(MySQL)

二、系统简介

1.系统描述

DMS数据挖掘项目是一个基于C/S(Client/Server,客户/服务器)架构的系统,由DMS客户端和DMS服务器端两部分组成:
●DMS 客户端作为系统的一部分,其主要任务是对数据进行采集、分析和匹配,并将匹配成功的数据发送到DMS服务器端。
●DMS 服务器端用于接收DMS客户端发送来的数据,并将数据保存到数据库中,DMS服务器端对接收的数据提供监控功能。
DMS数据挖掘项目可以对多种数据类型进行采集,例如:日志数据信息的采集、物流数据信息的采集等,多种数据信息都是基于继承关系。

2.系统结构图

3.数据处理流程图

4.系统主要功能界面

三、项目创建

任务1:

1.创建项目dms_学号
2.搭建项目框架
1

任务2

【任务2.1】菜单项设计及其测试

在com.qst.dms.dos 下创建MenuDriver.java并进行测试

功能要求:

1.在控制台输出提示


  • 1、数据采集 2、数据匹配 *
  • 3、数据保存 4、数据显示(匹配数据) *
  • 5、数据发送 6、数据显示(原始数据) *
  • 0、退出应用 *

请输入菜单项(0-6):

2.依据提示,分别输入0-6后,打印输出相应提示,比如:输入1,打印“数据采集”等;当输入非0-6数据时,提示“请输入正确的菜单项(0-6)!”

程序设计

package com.qst.dms.dos;

import java.util.Scanner;

public class MenuDriver {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int choice;

        do {
            System.out.println("*************************");
            System.out.println("* 1、数据采集   2、数据匹配           *");
            System.out.println("* 3、数据保存   4、数据显示(匹配数据) *");
            System.out.println("* 5、数据发送   6、数据显示(原始数据) *");
            System.out.println("* 0、退出应用 *");
            System.out.println("*************************");
            System.out.print("请输入菜单项(0-6):");

            choice = scanner.nextInt();

            switch (choice) {
                case 1:
                    System.out.println("数据采集");
                    break;
                case 2:
                    System.out.println("数据匹配");
                    break;
                case 3:
                    System.out.println("数据保存");
                    break;
                case 4:
                    System.out.println("数据显示(匹配数据)");
                    break;
                case 5:
                    System.out.println("数据发送");
                    break;
                case 6:
                    System.out.println("数据显示(原始数据)");
                    break;
                case 0:
                    System.out.println("退出应用");
                    break;
                default:
                    System.out.println("请输入正确的菜单项(0-6)!");
                    break;
            }

        } while (choice != 0);

        scanner.close();
    }
}

测试:
要求全部可能情况都要测一遍(截图)

2

当你在控制台输入字符,特殊符号,字符串等等,程序会发生什么?如何处理?

会报错,可以添加异常处理。

添加异常处理后的程序:

package com.qst.dms.dos;

import java.util.InputMismatchException;
import java.util.Scanner;

public class MenuDriver {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int choice;

        do {
            try {
                System.out.println("*************************");
                System.out.println("* 1、数据采集   2、数据匹配           *");
                System.out.println("* 3、数据保存   4、数据显示(匹配数据) *");
                System.out.println("* 5、数据发送   6、数据显示(原始数据) *");
                System.out.println("* 0、退出应用 *");
                System.out.println("*************************");
                System.out.print("请输入菜单项(0-6):");

                choice = scanner.nextInt();

                switch (choice) {
                    case 1:
                        System.out.println("数据采集");
                        break;
                    case 2:
                        System.out.println("数据匹配");
                        break;
                    case 3:
                        System.out.println("数据保存");
                        break;
                    case 4:
                        System.out.println("数据显示(匹配数据)");
                        break;
                    case 5:
                        System.out.println("数据发送");
                        break;
                    case 6:
                        System.out.println("数据显示(原始数据)");
                        break;
                    case 0:
                        System.out.println("退出应用");
                        break;
                    default:
                        System.out.println("请输入正确的菜单项(0-6)!");
                        break;
                }
            } catch (InputMismatchException e) {
                System.out.println("请输入正确的菜单项(0-6)!");
                scanner.nextLine(); // 清空输入缓冲区
                choice = -1; // 设置一个无效的菜单项,使循环继续
            }
        } while (choice != 0);

        scanner.close();
    }
}

3

【任务2.2】使用数组存储采集的数据

在com.qst.dms.dos 下创建DataInputDemo.java并进行测试

功能要求:

1.在控制台输出提示,接收10个数据

请输入第1个采集数据:
……
请输入第10个采集数据:

2.输出采集的10个数据

程序设计

package com.qst.dms.dos;

import java.util.Scanner;

public class DataInputDemo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int[] data = new int[10];

        System.out.println("请输入10个采集数据:");
        for (int i = 0; i < 10; i++) {
            System.out.print("请输入第" + (i + 1) + "个采集数据:");
            data[i] = scanner.nextInt();
        }

        System.out.println("采集的10个数据为:");
        for (int i = 0; i < 10; i++) {
            System.out.println("第" + (i + 1) + "个采集数据:" + data[i]);
        }

        scanner.close();
    }
}

测试:
要求全部可能情况都要测一遍

4

如何处理输入非数字字符的情况?

添加异常处理。

程序设计

package com.qst.dms.dos;

import java.util.InputMismatchException;
import java.util.Scanner;

public class DataInputDemo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int[] data = new int[10];

        System.out.println("请输入10个采集数据:");
        for (int i = 0; i < 10; i++) {
            try {
                System.out.print("请输入第" + (i + 1) + "个采集数据:");
                data[i] = scanner.nextInt();
            } catch (InputMismatchException e) {
                System.out.println("请输入一个整数!");
                scanner.nextLine(); // 清空输入缓冲区
                i--; // 重新输入当前数据
            }
        }

        System.out.println("采集的10个数据为:");
        for (int i = 0; i < 10; i++) {
            System.out.println("第" + (i + 1) + "个采集数据:" + data[i]);
        }

        scanner.close();
    }
}

【任务2.3】控制显示采集的数据

在com.qst.dms.dos 下创建DataShow.java并进行测试

功能要求:

1.在控制台输出提示,接收10个数据

请输入第1个采集数据:
……
请输入第10个采集数据:

2.每行显示5个数据,输出采集的10个数据

程序设计

package com.qst.dms.dos;

import java.util.InputMismatchException;
import java.util.Scanner;

public class MenuDriver {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int choice;


        do {
            try {
                System.out.println("*************************");
                System.out.println("* 1、数据采集   2、数据匹配           *");
                System.out.println("* 3、数据保存   4、数据显示(匹配数据) *");
                System.out.println("* 5、数据发送   6、数据显示(原始数据) *");
                System.out.println("* 0、退出应用 *");
                System.out.println("*************************");
                System.out.print("请输入菜单项(0-6):");

                choice = scanner.nextInt();

                switch (choice) {
                    case 1:
                        System.out.println("数据采集");
                        break;
                    case 2:
                        System.out.println("数据匹配");
                        break;
                    case 3:
                        System.out.println("数据保存");
                        break;
                    case 4:
                        System.out.println("数据显示(匹配数据)");
                        break;
                    case 5:
                        System.out.println("数据发送");
                        break;
                    case 6:
                        System.out.println("数据显示(原始数据)");
                        break;
                    case 0:
                        System.out.println("退出应用");
                        break;
                    default:
                        System.out.println("请输入正确的菜单项(0-6)!");
                        break;
                }
            } catch (InputMismatchException e) {
                System.out.println("请输入正确的菜单项(0-6)!");
                scanner.nextLine(); // 清空输入缓冲区
                choice = -1; // 设置一个无效的菜单项,使循环继续
            }
        } while (choice != 0);

        scanner.close();
    }
}

测试:
要求全部可能情况都要测一遍

5

存在哪些可能的bug及修复?

输入非数字字符会报错,添加异常处理即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/731514.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

多边形连接器PolygonConnector

PolygonConnector将多个多边形连接在一起 PolygonConnectorTest用于测试PolygonConnector Polygon test_square; Polygon test_square_around

关于IIS安全设置http能访问https不能访问的解决方案

最近折腾IIS&#xff0c;发现网站的http能访问但是https不能访问。 我确认所有关于HTTPS的配置我都配置正确了&#xff0c;结果还是不能访问&#xff0c;一番折腾发现&#xff0c;服务器本身的防火墙和阿里云服务器的安全组规则不是一回事。改完防火墙也没有用&#xff0c;重要…

【前端】网页开发精讲与实战 HTML Day 1

&#x1f680;Write In Front&#x1f680; &#x1f4dd;个人主页&#xff1a;令夏二十三 &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd; &#x1f4e3;系列专栏&#xff1a;前端 &#x1f4ac;总结&#xff1a;希望你看完之后&#xff0c;能对你有…

OpenCV使用ellipse()函数来绘制一个椭圆

/*** void ellipse(* InputOutputArray img, // 图像* Point center, // 椭圆原心* Size axes, // 椭圆x轴长度的一半,y轴长度的一半* double angle, // 椭圆旋转角度* double startAngle, // 起始角度* double endAngle, // 终止角度* const Scalar& color, // 椭圆颜色*…

整数序列(山东大学考研机试题)

整数序列 题目链接:3717. 整数序列 - AcWing题库 /* 纯暴力 刚开始以为挺难的结果是个暴力题 */ #include<iostream> using namespace std; int main() {int n;cin>>n;int f0;for(int i1;i<n/2;i){int sum 0;for(int ji;j<n/21;j){sumj;if(sumn){f1;for(int…

手机怎么设置四小时后提醒我休息,防止疲劳驾驶?

很多开车的人都知道&#xff0c;连续驾驶4个小时后需要至少休息20分钟&#xff0c;否则很容易出现疲劳驾驶的情况。但在开车的时候需要专注&#xff0c;很容易忘记按时休息&#xff0c;手机怎么设置四小时后提醒我休息&#xff0c;防止疲劳驾驶呢&#xff1f; 其实使用一款支持…

开放式耳机是什么意思?开放式耳机和封闭式耳机哪个好?

开放式耳机相比传统入耳式耳机&#xff0c;开放式耳机不会堵塞耳道&#xff0c;使用时可以开放双耳&#xff0c;不影响与他人的正常交流。还有很多朋友问开放式耳机和封闭式耳机哪个好&#xff1f;开放式耳机有哪些推荐好&#xff1f;等问题。 开放式耳机作为一种新兴的蓝牙耳…

String的hashCode为什么选择31作为乘子?

目录 hashCode()源码val[i] 是中文怎么办&#xff1f;如果是中文char的整数值是多少&#xff1f;注释中的计算方法为什么不用更大的数&#xff0c;比如101作为乘数&#xff1f;为啥用31了&#xff1f; hashCode()源码 先看下String类的源码&#xff0c;31出现在hashCode()方法…

Window操作系统---屏蔽蓝牙绝对音量

绝对音量定义&#xff1a; 关闭绝对音量方法&#xff1a;在系统注册表里修改 在运行输入框中输入&#xff1a;regedit 设置方法&#xff1a; 把DisableAbsoluteVolume的值改为&#xff1a;1

解释齐次坐标和投影几何

以前的翻译文章&#xff0c;存档。翻译自&#xff1a;https://www.tomdalling.com/blog/modern-opengl/explaining-homogenous-coordinates-and-projective-geometry/&#xff0c; 有改动 在本文中&#xff0c;我将尽可能简单地解释齐次坐标(即4D坐标)。在之前的文章中&#xf…

【MySQL练习及单表查询】

一、MySQL练习 一.创建表&#xff1a; 创建员工表employee&#xff0c;字段如下&#xff1a; id&#xff08;员工编号&#xff09; name&#xff08;员工名字&#xff09; gender&#xff08;员工性别&#xff09; salary&#xff08;员工薪资&#xff09; 二.插入数据 1&…

C++primer(第五版)第十四章(重载运算与类型转换)

14.1基本概念 重载运算符和重载其他函数差不多,运算符有多少参数,那么重载运算符就有多少参数.不同的是重载运算符有名字方面的限制,是operator加上运算符号.且除了函数调用运算符()之外,不允许有默认实参. 以上其中逻辑与运算符,逻辑或运算符,逗号运算符,取地址运算符不推荐…

多元分类预测 | Matlab偏小二乘PLS分类预测,多特征输入模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 多元分类预测 | Matlab偏小二乘PLS分类预测,多特征输入模型 多特征输入单输出的二分类及多分类模型。程序内注释详细,直接替换数据就可以用。程序语言为matlab,程序可出分类效果图,迭代优化图,混淆矩阵图。 部…

AutoHotkey配置鼠标光标在双屏幕之间瞬移

双屏幕带来的问题 使用双屏幕会带来两个问题&#xff1a;一个是窗口的切换移动不方便&#xff0c;另一个是鼠标的切换移动不方便。 如果需要将屏幕 A 的窗口快速移动到屏幕 B&#xff0c;可以用过 win shift 左右键来实现。 但是令人头疼的一个问题是鼠标还停留在屏幕 A&a…

Python 识别某验消消乐验证码

某验的消消乐验证码识别就很简单了,在一个九宫格里,找出相邻的两个元素交换后,保证有一行或者一列的元素相同,如下图: 如果这一个九宫格是一张图片的话,我们将其分割成9个部分,然后每一格都将其标注为一个类别就行,或者直接从源码中拿到9张图片,最终的话,是转成一个…

Devops系列六(CI篇之jenkinsfile)jenkins将gitlab helm yaml和argocd 串联,自动部署到K8S

一、为什么是jenkinsfile 上文我们说了pipeline&#xff0c;已为本文铺路不少&#xff0c;接下里就是将之串联起来。 先想说下&#xff0c;为什么是jenkinsfile, 因为jenkins job还支持pipeline方式。 这种方式&#xff0c;不建议实际使用&#xff0c;仅限于测试或调试groovy…

2 第一个springboot程序

2.1 创建springboot项目 有两种方法&#xff1a;一种是从官网上下载jar包&#xff0c;然后使用idea的import导入。另一种是直接在idea创建springboot项目。 2.1.1 方法一 进入spring官网&#xff08;Spring | Home&#xff09;。 点击projects的spring boot。 点击overview。 …

【java】空字符串“”和null区别,以及判空的方案

空字符串“” 1、类型&#xff1a;“”是一个空字符串&#xff08;String&#xff09;&#xff0c;长度为0&#xff0c;占内存&#xff0c;在内存中分配一个空间&#xff0c;可以使用Object对象中的方法。&#xff08;例如&#xff1a;“”.toString()等&#xff09; 2、内存分…

【Distributed】分布式监控系统zabbix应用(一)

文章目录 前言一、Zabbix基本概述1. Zabbix 的概念2. Zabbix 的工作原理3. Zabbix 6.0 新特性3.1 Zabbix 可以实现高可用3.2 Zabbix 新增监控系统 4. Zabbix 的构成5. Zabbix 的功能组件5.1 数据库5.2 Web 界面5.3 Zabbix Agent5.4 Zabbix Proxy5.5 Java Gateway 6. Zabbix 和 …

【JavaWeb】了解JavaScript DOM API

目录 1、什么是DOM 1.1、DOM树 1.2、 了解事件 2、常用的DOM API 2.1、选中页面元素 2.2、获取/修改元素内容 2.2.1、innerHTML和innerText 2.2、获取/修改元素属性 2.3、获取/修改表单元素属性 3、JQuery框架的简单了解和使用 4、代码案例&#xff1a;实现聚合索引功…