黑暗中奔跑,看不清颜色,胜负未定,让你半子又何妨?------ ydfy的csdn

ydfy

20182319 2019-2020-1 《数据结构与面向对象程序设计》实验四报告


课程:《程序设计与数据结构》
班级: 1823
姓名: 彭淼迪
学号:20182319
实验教师:王志强
实验日期:2019年10月3日
必修/选修: 必修

1.实验内容

(一)Java Socket编程
1.学习蓝墨云上教材《Java和Android编程》“第16章 输入/输出 ”和“第22章 网络”,学习JavaSocket编程
2.结对编程。结对伙伴A编写客户端SocketClient.java,结对伙伴B编写服务器端。
3.截图加学号水印上传蓝墨云,代码push到码云,并撰写实验报告。

(二)Java和密码学
参考 http://www.cnblogs.com/rocedu/p/6683948.html
以结对的方式完成Java密码学相关内容的学习(帖子中所有代码和相关知识点需要学习)。提交学习成果码云链接和代表性成果截图,要有学号水印。
(三)编写有理数/复数计算器
结对编程,结对伙伴A编写有理数计算器。结对伙伴B编写复数计算器。截图加水印上传蓝墨云,代码push码云。
(四)远程有理数计算器
结对编程,结对伙伴A编程实现客户端,结果伙伴B实现服务器端
客户端通过键盘输入一个有理数计算的公式(例如:1/4 + 1/6 = ),并把该公式以字符串的形式发送给伙伴B(服务器端),服务器端根据字符串计算出结果为5/12,并把结果返回给客户端A,A收到结果后输出结果。截图加水印上传蓝墨云,代码push码云。
(五)远程复数计算器
结对编程,结对伙伴B编程实现客户端,结果伙伴A实现服务器端。
客户端通过键盘输入一个有理数计算的公式(例如:1/4 + 1/6 = ),并把该公式以字符串的形式发送给伙伴A(服务器端),服务器端根据字符串计算出结果为5/12,并把结果返回给客户端B,B收到结果后输出结果。截图加水印上传蓝墨云,代码push码云。
注意实验四(4)和实验四(5),一个人不能仅实现客户端,必须实现一个客户端和服务器,否则两个实验均不得分!!!

2. 实验过程及结果

在下载完IDEA,开始正式做一些实验。具体内容如下:

实验一:

这个实验是让我们对客户端这个概念有个初步的了解,所以基本上是用老师给出的代码套上去就可以了。在这里插入图片描述
只不过稍微有一点遗憾的就是我的客户端总是无法如愿地显示出汉字,它总是显示一堆乱码,在队友的手里是好的,但我的另一个是好的,真的是手动笑哭。
在这里插入图片描述

实验二

这个实验也是一步一步按照它的步骤来就好了,只不过它的步骤实在是太多了,开始还可以耐心地截图,后来考虑到这些要截的图实在是太多了,就不一一排列出来了。在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验三

这个说起来还是有点不好意思的,因为这个实验也不能说完全是自己写出来的,因为这个实验的复数部分其实我们以前在学第五章的时候写过了,而另一个实数的老师上课也说过,而且看书的时候也不小心看到过书上有原题,所以相对来说这个也不是特别困难,甚至可以说是最省事的一个。
在这里插入图片描述
在这里插入图片描述

实验四、五:

这个其实也是照猫画虎,所以我们也是直接把两个拼接在一起,只不过这个过程也是有一点小问题的。
呃,这个其实也是少了好多东西,我们为了偷懒没有改掉开始的东西。在这里插入图片描述

3. 实验过程中遇到的问题和解决过程

  • 问题1:其实这一次的实验也是有点难度的,尤其是第四、五个实验虽然口上说着不太难,但其实做的时候真的是干啥的心都有了。完全不知道到底要怎么把两个整合在一起。
  • 问题1解决方案:开始也没有什么办法,也就只能硬着头皮去学呗,还能有什么办法,又不可能不做,于是我们也只是硬着头皮仔细地去了解每一个函数的作用,尝试着去学习使用它们,最后虽然也不能说学会了,但好歹也算是可以用一下了。

其它

其实感觉这一次的实验是真的有难度,但却也给了我一个很好的经验,那就是一定一定一定要保存以前写过的代码,因为你不知道什么时候可以用得上,硐java的代码比c的保存价值更高,因为java是面向对象的,它可以多次重复调用,适用于更多的地方。

posted on 2019-10-07 23:28  ydfy  阅读(201)  评论(0编辑  收藏  举报