java
文章平均质量分 86
bensonrachel
这个作者很懒,什么都没留下…
展开
-
java-储物柜难题
一个学校有100个储物柜和100个学生。所有的储物柜在上学的第一天都是关着的。随着学生的进来,第一个学生,打开每个柜子。然后第二个学生,从第二个柜子开始,关闭每个第二个柜子。学生3从第三个柜子开始,改变每个第三个柜子(如果它开着就关上、关着就打开)。学生4从第四个柜子开始,然后改变每个第四个柜子。以此类推,直到学生100改变第100个柜子为止。在所有学生都经过并改变了柜子之后,哪些柜子是开的?编写程序找出答案。原创 2017-09-22 17:28:58 · 6421 阅读 · 3 评论 -
《互联网程序设计(Java)》——课程笔记4:多线程程序设计技术
IDE平台程序的基本调试技术程序无语法错误、能运行,但没有出现预期的结果,程序可能存在逻辑错误,解决这类错误的主要方法是查看程序运行过程中的内存变量值。设断点并查看变量的方法:鼠标点击要查看变量所在代码行的行号,该行出现加亮颜色。 图3.1 调试断点行设置 先启动TCPServer服务器程序;然后,在客户端窗口程序TCPClientJFrame中选择一行有变量的...原创 2018-10-21 21:39:52 · 422 阅读 · 0 评论 -
《互联网程序设计(Java)》——课程笔记5:网络文件传送程序设计
学会基本的文件传输FTP程序设计技术。前两讲我们学会了使用TCP套接字(Socket),能实现字符串的发送和接收功能,简单地做到了客户机和服务器的对话。今天,我们进一步学习TCP套接字,利用它的字节传输技术,实现网络文件传输。文件传输协议规定(RFC 959 FTP.txt),网络文件传输中用两个TCP端口来实现:一个端口(21号)用来对话,传递控制信息,总是开启;一个端口(2...原创 2018-10-27 13:29:28 · 708 阅读 · 0 评论 -
《互联网程序设计(Java)》——课程笔记6:多用户服务器程序设计
学会服务器支持多用户并发访问的程序设计技术。1.多用户服务器是指服务器能同时支持多个用户并发访问服务器所提供的服务资源,如聊天服务、文件传输等。2.TCPServer.java服务器程序是单用户版本,每次只能和一个用户对话。(请仔细阅读TCPServer.java程序,了解其中原理,找出关键语句),只有前一个用户退出后,后面的用户才能完成服务器连接。演示过程:(1) 启动你的T...原创 2018-10-27 15:07:21 · 814 阅读 · 0 评论 -
《互联网程序设计(Java)》——课程笔记7:UDP套接字程序设计(无连接)
学会使用UDP套接字来实现网络应用程序设计。UDP通信特点: (1) UDP有别于TCP,有自己独立的套接字(IP+PORT),它们的端口号不冲突; (2) UDP 通信前通常[不]需要连接; (3) 基于用户数据报文(包)读写; (4) UDP通信一般用于线路质量好的环境,如局域网内。1. 程序设计第一步:创建UDPClient.java程序...原创 2018-10-27 20:06:26 · 774 阅读 · 1 评论 -
《互联网程序设计(Java)》——课程笔记9:邮件发送程序设计
学会网络邮件发送的程序设计技术。 网络程序设计的精髓是什么? 就是客户端和服务器的对话和响应契约(协议)。 简单邮件传输协议SMTP可以很好地诠释这一点。 邮件传输协议包括SMTP(简单邮件传输协议,RFC821)及其扩充协议MIME; 邮件接收协议包括POP3和功能更强大的IMAP协议。25端口(SMTP):25端口为SMTP(Simple Mail Tr...原创 2018-11-03 10:12:56 · 1110 阅读 · 0 评论 -
《互联网程序设计(Java)》——课程笔记10:Http程序设计
1、概论HTTP系统包括客户端软件(浏览器)和服务器软件(HTTP服务器)。早期的客户端软件,其主要工作可理解为文件下载和文件显示。实际上现代的HTTP客户端比文件下载要复杂得多,它包括网页文件的下载、跨平台的本地显示,参数的传递,动态网页的实现,以及交互等功能。HTTP系统程序设计包括:(1) 客户端软件(web浏览器软件如IE浏览器、360浏览器)(2) 服务器软件...原创 2018-11-08 23:08:05 · 887 阅读 · 0 评论 -
《互联网程序设计(Java)》——课程笔记11:网络安全程序设计一
学会主机及端口等一些基本的网络扫描程序设计技术。目标主机扫描是网络功防的基础和前提,扫描探测一台目标主机包括:确定该目标主机是否活动、目标主机的操作系统、正在使用哪些端口、对外提供了哪些服务、相关服务的软件版本等等,对这些内容的探测就是为了“对症下药”,为攻防提供参考信息。对主机的探测工具非常多,比如大名鼎鼎的nmap、netcat、superscan,以及国内的x-scanner等等。...原创 2018-11-15 21:52:43 · 1293 阅读 · 0 评论 -
自然语言处理(NLP)-统计句法分析(CKY算法用于PCFG下的句法分析)
1.先解释何为CFG及PCFG:一个栗子:2.CKY算法(或称CYK算法)“在计算机科学领域,CYK算法(也称为Cocke–Younger–Kasami算法)是一种用来对 上下文无关文法(CFG,Context Free Grammar)进行语法分析(parsing)的算法。该算法最早由John Cocke, Daniel Younger and Tadao Kasam...原创 2018-12-02 19:59:13 · 11689 阅读 · 0 评论 -
《互联网程序设计(Java)》——课程笔记12:网络安全程序设计二、三(网络数据包捕获与发送程序)
通常情况下网卡(工作在链路层)只往上层(网络层)传递3类包:广播包、与自己IP地址一致的单播包、已加入某组的组播包,在这种情况下,高层应用只能收到上述3类数据包。我们前几讲的程序设计工作,包括基于TCP Socket的网络应用(网络聊天、FTP、Email及HTTP),以及基于UDP Socket的网络聊天应用中,网卡只往网络层传递与自己IP地址一致的单播包。抓包的思想是:流经网卡所有的有效包...原创 2018-11-30 23:00:19 · 1992 阅读 · 0 评论 -
《互联网程序设计(Java)》——课程笔记13:基于Java的网络数据库程序设计
网络数据库程序设计就是利用网络共享(或操作)远程服务器数据库中的数据,从而实现基于网络数据库的互联网络应用。数据库一般位于异地的服务器上,客户端应用程序用JAVA语言书写。数据库和JAVA开发环境的关系如图1所示。 图1 JAVA与数据库Java语言要操作数据库,其中间需要“JDBC API”和“JDBC实现”2个必须的中间件。 (1) “JDBC API”提供3个常见...原创 2018-12-05 15:45:48 · 964 阅读 · 0 评论 -
《互联网程序设计(Java)》——课程笔记8:群组聊天技术
一、通过服务器转发消息实现群组聊天TCPClient和TCPThreadServer只实现了客户端和服务器聊天,如何做到客户和客户的聊天?如客户A的聊天信息通过服务器转发到客户B和客户C 等其他用户。程序设计第二步:在TCPThreadServer.java程序中添加其它功能,如转发客户之间的对话。在服务器端新增记录登陆的客户信息,可用在线方式、用户文件方式或数据库方式。本讲的程序用“...原创 2018-10-28 22:27:11 · 290 阅读 · 0 评论 -
《互联网程序设计(Java)》——课程笔记3: 网络对话程序设计
一、 简单网络对话程序设计任务:客户端向服务器发送一字符串,并能读取服务器返回的字符串。知识点:TCP套接字技术,C/S软件架构程序设计重点理解:Java客户套接字类Socket和服务器套接字类ServerSocket, 以及字符串读/写类BuffferedReader/PrintWriter。 在C/S软件架构程序设计技术中,实现网络通信的两个...原创 2018-10-17 23:13:29 · 447 阅读 · 1 评论 -
Java:<返回二维数组中最大值及下标>
设计一个名为Location的类,定位二维数组中的最大值及其位置。这个类包括公共的数据域row、column和maxValue,二维数组中的最大值及其下标用int型的row和column以及double型的maxValue存储。编写下面的方法,返回一个二维数组中最大值的位置。public static Location locateLargest(double[][] a)返回值是一个Locatio原创 2017-09-30 00:19:04 · 7743 阅读 · 2 评论 -
Java:<打印不同的数>
(印刷不同的数)写一个程序,读取10个数并显示互不同的数(例如,如果一个号码多次出现,它显示只有一次)。提示:读入一个数,如果它是一个新数,则将它存储到数组中,如果数字已经在数组中,则忽略它。输入完毕后,该数组包含的不同数。下面是程序的示例运行:完整代码如下:import java.util.Scanner;public class Exercise6_5 { pu原创 2017-10-08 21:15:42 · 1369 阅读 · 0 评论 -
java:<豆机(梅花瓶)(高尔顿瓶)>
豆机,也叫梅花瓶或高尔顿机,它是用来做统计实验的设备,使用英国科学家瑟弗兰克斯高尔顿的名字命名的。它是一个三角形状的均匀放置钉子的直立板子。如下图所示:球都是从板子口落下,每当碰到钉子,它就有50%的机会落向左边或右边。在板子底部的槽子中都会积累一些球。编写程序模拟豆机。程序提示用户输入球的个数以及机器的槽数。打印每个球的路径模拟它的下落,并显示最终每个槽子中球的数目。原创 2017-10-08 22:17:36 · 1395 阅读 · 0 评论 -
算法:编辑距离问题(动态规划)
问题描述: 设A和B是2个字符串。要用最少的字符操作将字符串A转换为字符串B。这里所说的字符操作包括(1)删除一个字符; (2)插入一个字符; (3)将一个字符改为另一个字符。将字符串A变换为字符串B所用的最少字符操作数称为字符串A到 B的编辑距离,记为d(A,B)。对于给定的字符串A和字符串B,计算其编辑距离 d(A,B)。个人对问题的理解:原创 2017-10-29 19:54:21 · 9982 阅读 · 7 评论 -
java:<显示两个字符串的相同前缀>
编写一个方法,返回两个字符串共有的前缀。例如,“distance”,“disinfection” 的共同前缀是”dis“。如果两个字符串没有公共前缀,这个方法返回一个空字符串。原创 2017-10-22 22:16:54 · 2476 阅读 · 0 评论 -
java:<几何问题-设计一个MyRectangle2D类>
在只知道矩形中心,矩形长宽的情况下,1.涉及如何判定一个点是否在一个矩形里。2.判定一个矩形在另一个矩形里,也是只知道中心坐标和长宽。3.判定一个矩形和另一个矩形相交,条件也如上。设计一个java-MyRectangle2D类。附两份代码,都是可以的,有些许细节用法不同。public class Exercise10_12 { pu原创 2017-10-26 13:42:23 · 2130 阅读 · 2 评论 -
java:<创建一个MyInteger类>
设计名为MyInteger的类,它包括:一个名为value的int型数据域,存储这个对象表示的int值。一个为指定的int值创建的MyInteger对象的构造方法。一个返回int的get方法。如果值分别为偶数,奇数或素数,那么isEven()、isOdd()、isPrime()方法都会返回true。如果指定值分别为偶数,奇数或素数,那么isEven(int)、isOdd(int原创 2017-10-26 19:37:52 · 5296 阅读 · 0 评论 -
《互联网程序设计(Java)》——课程笔记1:JAVA图形窗口程序设计
教学与实践目的:学会Java图形界面的设计及标准输入输出方法。 一、程序设计第一步:在指定的区域录入信息,到指定的区域显示该信息。 图形界面如图1所示。 知识点:基于界面的Java字符串读写技术。 图1 用户界面 程序技术: 用一个Java窗体类来实现,并完成上述的任务。 制作过程:(1) ...原创 2018-09-17 23:14:36 · 826 阅读 · 0 评论 -
《互联网程序设计(Java)》——课程笔记2:将聊天信息同步保存到磁盘文件
程序设计笔记2:将聊天信息同步保存到磁盘文件。 设计思想:新增一个文件操作类,完成文件在磁盘方面的读写功能,并对外提供保存给定字符串的功能。 知识点:字符流磁盘文件保存技术和多程序文件技术。 重点学习:FileOutputStream类,PrintWriter类。 (1)新增一个文件保存类FileWrite,负责文件操作有关功能: 基本功能:用来保存给定的字符...原创 2018-09-22 14:33:27 · 577 阅读 · 0 评论 -
《互联网程序设计(Java)》——课程笔记14:RMI远程对象程序设计一
问题背景:软件更新或升级是软件发布和安装后的一种常态,比如现在的APP应用。更新或升级在2种情况下发生,一是新增软件功能,二是修补软件漏洞(BUG)。基于客户/服务器的软件系统(C/S软件),需要分别开发和分别安装在客户端和服务器端 ,客户端软件在发布后要更新通常比较困难,除非有互联网连接。基于浏览器/服务器的软件系统(B/S软件),其客户软件无需单独安装,它们附加在浏览器上运行,客户...原创 2018-12-15 00:08:36 · 816 阅读 · 0 评论