20192310 实验四《 数据结构与面向对象程序设计》 实验报告
课程:《程序设计与数据结构》
班级: 1923
姓名: 严嘉钰
学号: 20192310
实验教师:王志强
实验日期:2020年10月26日
必修/选修: 必修
1.实验内容
(一)Java Socket编程
结对编程。结对伙伴A编写客户端SocketClient.java,结对伙伴B编写服务器端。
(二)Java和密码学
以结对的方式完成Java密码学相关内容的学习
(三)编写有理数/复数计算器
结对编程,结对伙伴A编写有理数计算器。结对伙伴B编写复数计算器。
(四)远程有理数计算器
结对编程,结对伙伴A编程实现客户端,结果伙伴B实现服务器端。
客户端通过键盘输入一个有理数计算的公式(例如:1/4 + 1/6 = ),并把该公式以字符串的形式发送给伙伴B(服务器端),服务器端根据字符串计算出结果为5/12,并把结果返回给客户端A,A收到结果后输出结果。
(五)远程复数计算器
结对编程,结对伙伴B编程实现客户端,结队伙伴A实现服务器端。
2.实验过程
我(B),结对伙伴(A)2327
1.与结对伙伴编写客户端和服务器。加分项:使用Base64对传输内容进行加密。
结果如下:
2.研究java密码学
通过对云班课上内容的研究,依次将其上的五种加密方式以代码形式运行如下:
3.编写复数计算器
我编写的复数计算器是为远程复数计算器做基础
输入表达式后自动计算出结果
4.远程有理数计算器
我编写的服务器端与客户端如下
5.远程复数计算器
我编写的服务器端与客户端如下
3.实验过程中遇到的问题和解决过程
问题1:无法将分割后的字符串转为浮点
解决:使用parseof函数而不是getvalue函数
问题2:服务器端无法调用自编函数
解决:将自编函数与服务器端置于同一包内
问题3:分割后形成的数组开头总是空
解决:从数组第二个值开始使用
其他(感悟、思考等)
做实验的过程是一个不断温故而知新的过程,过程中会暴露出许多细小知识点掌握的不牢,实验大部分时间都在浏览器搜索中度过。
参考资料
- 《Java程序设计与数据结构教程(第二版)》
- 《Java程序设计与数据结构教程(第二版)》学习指导