- 博客(63)
- 资源 (27)
- 问答 (1)
- 收藏
- 关注
原创 Java程序设计:实验一 Java语言基础
这里只给出部分实验一另外这里有Socket网络编程实验扩展部分还有所有实验的实验报告,实验星号题和必做题以及扩展部分全部做完,可放心食用Socket网络程序设计:模拟QQ聊天室hebut-Java程序设计实验报告实验目的掌握 Java语言的基本语法、基本数据类型的使用方法,掌握从键盘输入基本类型的数据,熟练运用分支、循环等语句控制程序流程。实验内容1编写一个Java应用程序,用户从键盘输入十名学生的信息,至少包括姓名、年龄、出生年月日、java课程实验成绩,成绩使用浮点数,年龄使用整型.
2022-01-04 15:29:07 1226
原创 Socket网络程序设计:模拟QQ聊天室
多线程基础,实现群聊系统一、实验题目采用多线程技术实现一个服务器端和多个客户端之间的聊天功能。二、设计思路(1)总体设计:设计一个服务端线程,设计服务端的功能。设计一个服务端,等待客户端连接,启动服务端线程。设计一个客户端线程,客户端线程定义客户端的功能。设计一个客户端,用于启动客户端线程。(2)功能实现;客户端发送消息给服务端,由服务端转发为其他客户端,实现群聊功能(3)服务端线程设计:这个线程里设计了服务端读取客户端信息,并转发给其他客户端,向客户端发送上线下线提示(4)服务端设计:服.
2022-01-03 16:31:54 1168
原创 数据库实验报告(1-8)
文章是从文件导入的,图片转存失败,没有显示,文章些许格式错误可能是因为格式不兼容,文章末尾有实验报告资源连接,需要的可以下载实验一 数据库的定义及数据导入1.实验目的理解和掌握数据库DDL语言,能够熟练使用SQL、DDL语句,并能够完成数据导入2.实验内容和要求理解和掌握 SQL DDL 语句的语法,特别是各种参数的具体含义和使用方法;使用 SQL 语句创建、修改和删除基本表;掌握 SQL 语句常见语法错误的调试方法;完成数据导入。3.实验步骤1.创建数据库CREATE DATABASE.
2022-01-03 15:53:09 3441 3
原创 数据统计与分析基础:实验一 基本语法及运算
数据统计与分析实验,这里写了实验一后续实验看文章末尾实验一 基本语法及运算实验目的掌握实用软件(如python、Matlab、R等任选一种)的基本语法、基本数据类型的使用方法,掌握从键盘输入并运算基本类型的数据,熟练运用分支、循环等语句控制程序流程。实验内容一编写程序,记录十名学生的信息,至少包括姓名、年龄、出生年、数据统计分析课程实验成绩,程序输出前n个学生的年龄平均值、数据统计分析课程实验成绩平均值,n为函数的输入参数。代码count = 10s = []for i in r.
2022-01-03 15:35:15 868
原创 数据库学习笔记05:模拟转账——JDBC操作事务
JDBC操作事务要么都成功,要么都失败ACID原则:原子性、一致性、隔离性、持久性原子性:要么全部完成,要么都不完成一致性:结果总数不变隔离性:多个进程互不干扰持久性:一旦提交不可逆,持久化到数据库了隔离性的问题:脏读: 一个事务读取了另一个没有提交的事务不可重复读:在同一个事务内,重复读取表中的数据,表发生了改变虚读(幻读):在一个事务内,读取到了别人插入的数据,导致前后读出来的结果不一致简单模拟转账,体验事务的要么都成功要么都失败关闭数据库的自动提交功能,自动开启事务
2021-10-08 16:56:08 244
原创 数据库学习笔记04:PreparedStatement——防止SQL注入
PreparedStatementPreparedStatement 可以防止SQL注入 ,效率更高。防止SQL注入本质,传递字符 带有“ ”,转义字符会被转 义完整代码,增加一条信息package JDBC.statement.Test02;import JDBC.statement.utils.JdbcUtils;import java.sql.Connection;import java.sql.Date;import java.sql.PreparedStatement;imp
2021-10-08 15:19:26 158
原创 数据库学习笔记03:SQL注入基础
SQL注入数据库存在漏洞,会被攻击导致数据泄露SQL注入,输入一些拼接的SQL语句,可以攻击数据库SQL注入只要保证or两边一个条件正确即可密码也可以写成" ’ or '1=1"package com.kuang.lesson02.utils;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import stat
2021-10-08 11:03:30 75
原创 数据库学习笔记02:statement对象详解、数据库的增删改查四大方法
statement对象Jdbc中的statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查,只需要通过这个对象向数据库发送增删改查语句即可。Statement对象的executeUpdate方法,用于向数据库发送增、删、改的sq|语句, executeUpdate执行完后, 将会返回一个整数(即增删改语句导致了数据库几行数据发生了变化)。Statement.executeQuery方法用于向数据库发生查询语句,executeQuery方法返回代表查询结果的ResultSet对象。创
2021-10-07 20:53:52 1109
原创 数据库学习笔01:数据库驱动以及JDBC
数据库驱动SOLyog新建数据库以及简单操作新建数据库注意:1.选择基字符集utf82.数据库排序规则如图选择设置表的一些参数添加记录JDBC第一篇程序预先创建好数据库代码:CREATE DATABASE jdbcStudy CHARACTER SET utf8 COLLATE utf8_general_ci;USE jdbcStudy;CREATE TABLE `users`( id INT PRIMARY KEY, NAME VARCHAR(40), PAS
2021-10-07 17:22:35 107
原创 网络编程06:URL简介以及下载网络资源
URL简介URL统一资源定位符:定位资源的,定义互联网上的某一个资源DNS域名解析协议://ip地址:端口/项目名/资源URL下载网络资源我相近办法爬取,B站URL地址,太难了,都是分节传输,我根本找不到啊啊啊package URL;import java.io.FileOutputStream;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;public class
2021-10-04 13:33:37 138
原创 网络编程05:我终于模拟出了QQ聊天——基础篇
本篇文章主要用UDP基础知识来模拟两人聊天需求分析设计一个程序,实现两人聊天,两人可以相互发信息,接收对方的信息,以及退出聊天设计分析一个人既可以发送信息也可以接收信息——多线程**给这个人设置两个线程,一个接收信息的线程,一个发送信息的线程,建立两个运行终端,执行这两个线程即可这里设置了两个角色:老师和学生package UDP多线程在线咨询;public class TalkStudent { public static void main(String[] args) {.
2021-10-03 20:42:19 1234 6
原创 网络编程04:UDP聊天和UDP Packet里面getData()的一个坑
本篇文章是再UDP发消息的升级版,UDP聊天一个Demo01负责消息发送,Demo02负责接收消息消息发送方建立一个socket准备数据,从控制台读取数据(1)建立缓冲输入流(2)建立循环发送消息,已经终止循环的条件释放资源package Udp聊天;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.Datagra.
2021-10-03 16:51:07 507
原创 网络编程03:UDP消息发送
UDPUDP不需要连接服务器,只管发送即可我们这里为了方便,模拟了一个接收端,接收端也可发送消息消息发送端import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;//UDP实际上不需要连接服务器,只管发送消息就行//在这里,我们为了方便,写一个接收端public class UdpClientDemo01
2021-10-03 14:26:52 136
原创 网络编程01:TCP上传文件
TCP上传文件客户端负责上传文件,服务端负责接收文件多看注释客户端客户端需要一个创建一个socket连接,用第地址和端口号接着需要一个输出流,用来写文件接着需要一个输出流,用来读取文件然后通知服务器,我传输完毕接着需要创建输入流和管道输出流来接收服务器反馈信息释放资源package Tcp上传文件;import java.io.*;import java.net.InetAddress;import java.net.Socket;public class TcpCl.
2021-10-02 19:44:29 134
原创 网络编程02:TCP实现聊天
本文主要用于学习TCP相关知识设计分为两个部分,客户端和服务端,客户端发送消息,服务端收到消息客户端设计要知道一个服务器的地址、端口号创建一个socket连接发送消息IO流释放资源import java.io.IOException;import java.io.OutputStream;import java.net.InetAddress;import java.net.Socket;//客户端public class TcpClientDemo01 { pub.
2021-10-02 17:04:05 152
原创 输入/输出流和文件操作06:对象序列化流和和反序列化流以及怎么判断对象流已经读到末尾
一、对象序列化流ObjectOutputStream将Java对象的原始数据类型和图形写入OutputStream。 可以使用ObjectInputStream读取(重构)对象。 可以通过使用流的文件来实现对象的持久存储。 如果流是网络套接字流,则可以在另一个主机上或另一个进程中重构对象。ObjectOutputStream:构造方法:ObjectOutputStream(OutputStream out)创建一个写入指定的OutputStream的ObjectOutputStream。序列化对
2021-10-02 13:31:23 377 1
原创 输入/输出流和文件操作05:标准输入流和标准输出流
一、标准输入流自己实现键盘录入数据:BufferedReader br = new BufferedReader(new InputStreamReader(System.in));由一下三个语句化简而来//public static final InputStream in;标准输入流//接收从键盘等标准设备输入InputStream is =System.in;//字节流//如何把字节流转化为字符流InputStreamReader isr = new InputStreamReader
2021-10-01 10:47:16 289
原创 输入/输出流和文件操作04:文件和集合案例:翻牌子神器,就是你了
一、翻牌子神器多看注释,都在代码里了注意:首先需要自己创建文本文件,将名字写进文件里package ArraylistAndFlie;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;import java.util.ArrayList;import java.util.Random;public class CallNameDemo { public stati
2021-09-27 15:02:44 58
原创 输入/输出流和文件操作03:字符流输入输出流
这里用字符输入输出的两种方式复制了文件package 字符流;import java.io.*;/*1.根据数据源创建字节输入流对象2.根据目的地创建字节输出流对象3.读写数据4.释放资源 */public class CopyJava { public static void main(String[] args) throws IOException { //1.根据数据源创建字节输入流对象 InputStreamReader isr = n
2021-09-27 14:27:21 144
原创 输入/输出流和文件操作02:字节缓冲输入输出流
字节缓冲输入输出流字节缓冲流:BufferOutputStream、BufferInputStream构造方法:字节缓冲输出流:BufferedOutputStream(OutputStream out)字节缓冲输入流:BufferedInputStream(InputStream in)字节缓冲输入流package IO1.buffer;import java.io.FileInputStream;import java.io.BufferedInputStream;import ja
2021-09-26 14:46:29 178
原创 输入/输出流和文件操作01:字节输出流和字节输入流
一、IO流概述和分类按照数据的流向输入流:读数据输出流:写数据按照数据类型来分字节流:字节输入流、字节输出流字符流:字符输入流、字符输出流一般来说,我门说IO流的分类是按数据类型来分的,不知道用那种就用字节流二、字节流2.1、字节流写数据字节流抽象基类InputStream 这个抽象类是表示字节输入流的所有类的超类OutputStream 找个抽象类是表示字节输出流的所有类的超类子类名特点:子类名称都是以其父类名作为子列名的后缀FileOutputStream(St
2021-09-24 19:22:23 257
原创 多线程学习笔记03:静态代理模式
静态代理模式:StaticProxy代理对象和真是对象都要实现同一个接口代理对象要代理真是角色注意的是,静态代理的函数,随着传入参数不同,目标对象也就会调用不同的参数package Lesson02;/*静态代理模式:StaticProxy代理对象和真是对象都要实现同一个接口代理对象要代理真是角色 */public class StaticProxy { public static void main(String[] args) { You you = ne
2021-09-19 16:40:46 67
原创 多线程学习笔记02:抢票和龟兔赛跑案例
本文主要用多线程基础知识,初步模拟了抢票和龟兔赛跑的核心流程。主要用于体验多线程,掌握多线程知识一、抢票 设计思路: 1.设置线程,模拟三个人物,小明,老师和黄牛 2.判断什么时候抢票结束,要设置票数数量,设置结束条件 注意:可能出现问题:多个线程使用一个资源,比如两个或者三个线程都抢到了第3张票,需要处理 当CPU运行速度过快时,需要设置延时。 很无奈我的CPU比较垃圾,一次就把结果跑出来,不用设延时。。。package Lesson01;public class getTi.
2021-09-19 15:23:49 132
原创 实验五 进程同步问题实现
实验五 进程同步问题实现一、实验目的利用实验四提供的方法和例子,解决进程同步相关问题,例如:生产者消费者问题,哲学家进餐等问题。二、实验环境硬件环境:计算机一台,局域网环境;软件环境:Linux Ubuntu操作系统,gcc编译器三、实验内容运用实验四中提供的进程同步方法实现如下问题:1、生产者消费者问题问题描述:一组生产者进程向一组消费者进程提供产品,两类进程共享一个由n个缓冲区组成的有界缓冲池,生产者进程向空缓冲池中投放产品,消费者进程从放有数据的缓冲池中取得产品并消费掉。只要缓冲池
2021-09-17 18:30:53 475
原创 Java学习笔记10:抽象类
父亲实现不了的要求儿子实现,儿子实现不了,要求孙子实现…package base.opp.abclass;public abstract class A { //抽象类不能被实例化,只能有其非抽象子类继承后操作 //抽象类中可以写普通方法 //抽象方法必须再抽象类中 public abstract void dosome();//抽象类}package base.opp.abclass;public class B extends A{ //继承了
2021-09-07 19:05:48 57
原创 Java学习笔记09:static关键字详解
一切精华,尽在代码package base.opp.static1;public class staticdetail { { //2 System.out.println("匿名代码块"); } static { //1,跟随着类一起加载,只执行一次 System.out.println("静态代码块"); } public staticdetail() { //3
2021-09-07 18:35:08 85
原创 Java学习笔记08:多态
一、多态多态:多态是方法的多态,没有属性父类和子类,有联系,可以进行类型转换,可能出现类型转化异常 ClassCastException存在条件:继承关系,子类重写父类方法,父类引用指向子类对象不能重写:二、instanceof (类型转化)引用类型package base.NewMethod;public class B {public void go() { System.out.println("父类的方法"); }}package base.Ne
2021-09-07 16:59:50 68
原创 Java学习笔记07:方法的重写
一、方法的重写非静态方法和静态方法的区别很大!静态方法:静态方法的调用只和左边定义的类型有关;重写之和非静态方法有关重写也只能重写共有的重写重写需要有继承关系,子类重写父类的方法方法名必须相同参数列表必须相同修饰符:范围可以扩大,但不可以缩小抛出的异常可以被缩小,但不能扩大为什么要重写父类的功能子类不一定需要或者不一定满足alt+insert,快捷键例一:这个不叫作方法的重写package base.NewMethod;public class B { public
2021-09-07 16:06:15 74
原创 Java学习笔记06:封装、继承、super
一、封装1.private私有,不可直接调用,可以采用方法调用。alt+insert,可以自动生成get和set方法二、继承Java中只有单继承,没有多继承三、supersuper子类可以调用父类的一些方法注意:1.super调用父类的构造方法,必须在构造方法的第一个2.super必须只能出现在子类的方法或者构造方法中3.super和this不能同时调用构造方法4.this();本类的构造 super();父类的构造父类package base.opp.extend;pub
2021-09-07 16:05:41 79
原创 Java学习笔记05:对象、方法调用、构造器
一、什么是面向对象1.面向对象编程:以类的方式组织代码,以对象的组织(封装)数据2.三大特性:封装、继承、多态3.对象,是具体的。类,是抽象的二、方法的调用静态方法可以直接调用,非静态的方法需要把类实例化,然后调用静态方法和类一起加载,非静态方法,在类实例化之后才存在package base.opp.base1;//学生类//alt+inert 自动生成构造器public class Student { String name; int id; String
2021-08-31 18:37:17 69
原创 Java学习笔记04:数组
一、数组基础1.数组的声明创建首先声明数组变量,才能在程序中使用数组dataType[] arrayRefVar;//首选或dataType arrayRefVar[];Java语言使用new操作符来创建数组,语法如下dataType[] arrayReVar=new dataType[arraySize];数组元素通过索引访问,数组索引从0开始2.初始化静态初始化int[] a={1,2,3};Man[] mans={new Man(1,1),new Man(2,2)};动
2021-08-31 16:10:26 94
原创 Java学习笔记03:方法
一、方法方法是一段用来完成特定功能的代码片段,类似于C++里的函数1.方法的定义和调用方法包含一个方法头和方法体修饰符 返回值类型 方法名(参数类型 参数名){···方法体···return 返回值;}方法名:方法的实际名称。方法名和参数表共同构成方法签名2.方法的重载重载就是在一个类中,具有相同的函数名称、但形参不同的函数方法重载的规则:方法名称必须相同参数列表必须不同(个数不同或类型不同、参数排列顺序不同等)方法的返回类型可以相同也可以不相同仅仅返回类型不同不足以
2021-08-31 09:47:53 83
原创 Java学习笔记02:Scanner、循环结构
一、用户交互Scanner我们可以通过Scanner类来获取用户的输入package base.Scanner;import java.util.Scanner;public class Scanner01 { //主要讲述scanner类, /* * next,只能识别空格以前的字符,直到有效字符,例如输入Hello World 则输出Hello * nextLine,以回车为结束标识符,可以接收空格 */ public static v
2021-08-30 18:36:28 159
原创 Java学习笔记01:标识符、数据类型
一、标识符1.标识符:类名、变量名以及方法名都被称为标识符二、数据类型1.Java是一种强类型语言2.数据类型分为两大类:基本类型、引用数据类型基本数据类型(Primitive Type):1、整数类型:byte、short、int、long2、浮点类型:float、double3、字符类型:char 占2个字节4、boolean类型:占1位,值只有true和false两个引用数据类型(Reference Type):1.类2.接口3.数组3.string 字符串不是关键字,
2021-08-30 16:42:54 143
原创 PTA:7-3 找零钱*** (20 分)
一、问题收银员现有 n 张面值分别为 v1 ,v2..,vn的纸币。若找零金额为 m,则一共有多少种找零方法?输出格式若有解,则输出全部找零方案,每输出一种 若无解,则输出“None”输入样例163 1 4 3 2 79输出样例13 1 3 23 4 24 3 2二、设计分析1.定义一个数组,存放零钱面额2.定义一个数组,存放解空间3.定义一个计数器,对所需零钱个数记录4.区分本题中要求求出所有解空间,所以要遍历完整个树和以前的输出字典最优解对比5.剪枝:由于硬币
2021-06-05 15:57:52 2006
原创 PTA:7-4 最佳调度问题
一、问题描述假设有n(n<=20)个任务由k(k<=20)个可并行工作的机器完成。完成任务i需要的时间为ti。 试设计一个算法,对任意给定的整数n和k,以及完成任务i 需要的时间为ti ,i=1~n。计算完成这n个任务的最佳调度,使得完成全部任务的时间最早。输入格式:输入数据的第一行有2 个正整数n和k。第2 行的n个正整数是完成n个任务需要的时间。输出格式:将计算出的完成全部任务的最早时间输出到屏幕。输入样例:在这里给出一组输入。例如:7 32 14 4 16 6
2021-06-05 15:47:24 1661 1
原创 实验一:递归与分治
一、循环赛日程安排1、实验内容利用分治算法,编程实现循环赛日程表安排问题,并进行时间复杂性分析;2、实验分析1.题目理解(1)根据已经学得知识,8个人大循环赛需要7天。(2)当比赛人数为2^k时,可以用分治法,多边形轮转法则可以解决一切输入2.设计分析(1)输出循环列表,第一列为选手编号,从第n(n>2)列开始,为第n天的比赛信息。(1,2)位置,存放的是2,则代表,在第一天,一号选手和二号选手比赛。(2)多边形轮转法思路。当人数为奇数n时,n边形中,处在同一条水平线上的一对点一起
2021-05-26 16:50:23 1090
原创 PTA:7-2 凑零钱 (30 分)
一、题目韩梅梅喜欢满宇宙到处逛街。现在她逛到了一家火星店里,发现这家店有个特别的规矩:你可以用任何星球的硬币付钱,但是绝不找零,当然也不能欠债。韩梅梅手边有 10^4枚来自各个星球的硬币,需要请你帮她盘算一下,是否可能精确凑出要付的款额输入格式:输入第一行给出两个正整数:N(≤10^4 )是硬币的总个数,M(≤10^2 )是韩梅梅要付的款额。第二行给出 N 枚硬币的正整数面值。数字间以空格分隔。注:我们说序列{ A[1],A[2],⋯ }比{ B[1],B[2],⋯ }“小”,是指存在 k≥1
2021-05-07 16:07:33 1216
hebut-Java程序设计实验报告.docx
2022-01-03
数据库实验:高考志愿报名辅助管理系统.pdf
2022-01-03
hebut2020年环境保护与可持续发展结课作业.zip
2021-10-07
2020年hebut汇编语言程序设计.doc
2021-09-17
互联网+大数据”科技成果转化平台研究.doc
2021-09-17
实验四 模型计算机整机实验.docx
2021-07-18
实验三 总线、半导体静态存贮器实验.docx
2021-07-18
实验二 运算器数据通路实验.docx
2021-07-18
实验一:启停、时序电路实验.docx
2021-07-18
实验六Wireshark网络抓包实验.docx
2021-07-18
实验五 网络设备的连接.docx
2021-07-18
实验三:设置虚拟局域网(VLAN.docx
2021-07-18
实验一: 交换机和集线器的工作原理.doc
2021-07-18
操作系统:实验报告.docx
2021-07-18
实验四 :回溯法.docx
2021-07-18
实验三:贪心算法 .docx
2021-07-18
实验二:动态规划法.docx
2021-07-18
实验一:递归与分治.docx
2021-05-26
计算器的设计与实现.zip
2021-01-07
离散数学实验.zip
2020-06-01
求帮忙,不定义为static会陷入死锁,为什么?
2021-09-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人