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


    课程:《程序设计与数据结构》 班级: 1823
    姓名: 高宽让
    学号:20182331
    实验教师:王志强
    实验日期:2019年9月30日
    必修/选修: 必修

    一、实验内容

    (一)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),一个人不能仅实现客户端,必须实现一个客户端和服务器,否则两个实验均不得分!!!

    二、 实验过程及结果

    1.实验一和实验二我是完全按照王老师给的博客按照步骤一步一步的进行实验,其中的代码全是复制博客的,这部分没有什么好说的。



    2.实验三我被分配的工作是做有理数的计算器,有理数的计算中,加减法和整数类似,分子分母各算各的最后再来个化简,但是乘法和除法就涉及到了交叉运算,但只要小心一点也能避免出错
    3.因为我做的是有理数计算器,所以我选的就是有理数服务器和复数客户端,客户端这方面没有什么好说的,照本宣科就是。但服务器这边要接受数据,要拆分并分析数据,还要调用有理数计算器,最后还要把结果重新组成一个分数发过去,特别的繁琐,也特别的细致。我做这一块的时候总是出现各种各样的错误,但在董其鹏同学的帮助下全都解决了。

    三、 实验过程中遇到的问题和解决过程

    问题1:编的一部分类的代码,始终没有出现绿色的run按钮,也无法编译运行
    问题1解决方案:实际上有些代码并不需要去编译运行,只要能够被引用就可以了。但是这类代码大都没有main类,要进行编辑和运行的话,只徐要在代码中加一个空的main类。
    问题2:分数的运算直接是最简单的代数运算了
    问题2解决方案:没有考虑到通分和约分的问题,碰到一些特殊的分数就不能进行运算了
    问题3:客户端发过来的是一个字符串,不能直接运算
    问题三解决方案:把字符串按照中间的符号分成几段,需要用到循环判断和字符串数组的相关知识

    四、 其他(感悟、思考等)

    这次的实验说实话对我来说难度很大,里面有好多的知识点我都没有掌握,连算法都没有一个清晰思路,编程也有很大的难度,经常出现一些我都无法理解的错误,但幸好有其他会的同学和学长学姐的帮助我才能成功完成这次实验,这次实验总之是给我泼了一盆冷水,让我认识到了自己的真实水平。

    参考资料

  • 相关阅读:
    写的一个split函数
    从头開始写项目Makefile(十):make内嵌函数及make命令显示
    MySQL 中文乱码解决
    查看DNS主机名解析的主机IP并向DNSserver进行DNS域名解析
    【iOS开发-90】CALayer图层:自己定义图层,图层的一些动画
    iconv 中文截断问题的解决方法
    linux有用技巧:使用ntfs-3g挂载ntfs设备
    SQL Sever——远程过程调用失败(0x800706be)
    USACO ariprog 暴力枚举+剪枝
    Shell编程(脚本)的经常使用命令和语句
  • 原文地址:https://www.cnblogs.com/gao-kuanrang/p/11631792.html
Copyright © 2020-2023  润新知