• 20155239《Java程序设计》实验一(Java开发环境的熟悉)实验报告


    实验内容及步骤

    1. 使用JDK编译、运行简单的java程序
      2.使用IDEA编辑、编译、运行、调试Java程序

    (一)使用JDK编译、运行简单的java程序

    命令行下的程序开发

    先建立一个文件夹命名为Code 打开windows下的cmd 输入cd Code命令进入Code目录 → 输入md 20155239test建立以自己学号命名的文件夹 → 输入cd 20155239test进入文件夹 → 输入md exp1建立“实验一”文件夹 → 输入cd exp1进入“实验一”文件夹

    使用vim编辑器编辑java程序 → 在命令行下编译、运行

    (二)使用IDEA编辑、编译、运行、调试Java程序

    1、新建「HelloJDB」类,输入代码,如下所示:

    2、运行HelloJDB类,显示结果如下所示:

    3.在需要设置断点的一行左侧单击鼠标,出现红色圆点,例如在代码第六行、第十一行和第十五行设置断点,如图所示:

    4、调试运行(Debug)HelloJDB类,右键选定Debug选项,点击即可进行调试。

    运行到第六行代码时停止,并显示相关变量的值,如下图所示:

    图中对应的常用调试快捷图标功能如下:

    ① Step Over(F8):程序向下执行一行(如果当前行有方法调用,这个方法将被执行完毕返回,然后到下一行)

    ② Step Into(F7):程序向下执行一行。如果该行有自定义方法,则运行进入自定义方法(不会进入官方类库的方法)

    ③ Force Step Into:进入任何方法

    ④ Step Out(Shift+F8):如果在调试的时候进入了一个方法,并觉得该方法没有问题,就可以使用stepout跳出该方法,返回到该方法被调用处的下一行语句。值得注意的是,该方法已执行完毕。

    ⑤ Run to Cursor:将程序运行到光标处。

    点击Step Into按钮,跳转到自定义的add方法,停在断点第15行,结果如下:

    5、若是想要判断循环内部是否出现问题,则在第九行代码设定断点,断点处右键设定要测试的值,这里测试i=60时,点击resume按键运行,结果如下:

    (三)练习:实现1-N的质数,并进行测试。

    练习内容:输入一个数,输出1到该数之间的所有质数

    质数:除了1和本身,没有其他的约数,也就是无法被除1和本身之外数字除尽的数字。

    思路:

    1.读取到输入的数字信息;

    2.判定从2到n-1是否有其他可除尽的数字,若有则不是质数,若是循环到本身则为质数;

    3.输出判定为质数的数字。

    代码如下:

    运行结果截图:

    实验中遇到的问题
    1.在命令行下的程序开发时,由于不太熟悉命令相关知识,在javac Hello.java成功后进行java Hello时发生了找不到或无法加载主类 Hello的错误。

    经过代码排查,发现代码并无错误,查询相关资料发现是环境变量错误引发的,需要在classpath环境变量值的前面加上".;",具体如下:

    2.在循环代码设定断点判定循环内部的正确性时,设定条件为60,点击resume按钮后发生错误,具体如下:

    通过仔细查看错误提醒信息,发现原来condition设定需要设定满足的条件,应该将condition中的值从60改为i=60,这样就正确了。

    3.后期有思考,判定质数这个代码是否能进一步优化,质数判定是否需要从2判定到本身,其实只需要判定一半就能确定其是否为质数,这样减轻了循环次数,若输入数字较大时,运行速度也会比较快。

    运行结果为:

    实验体会及总结

    通过这次实验让我对于java开发有了更深入的了解,虽然这次实验比较简单,但是也打了挺多代码的,还用到以前学习的编程思想,知道了软件开发过程之中除了需要熟悉使用的开发工具,开发思路也比较重要,所以需要好好培养下。

    步骤 耗时 百分比
    需求分析 10分钟 10%
    设计 10分钟 10%
    代码实现 45分钟 30%
    测试 45分钟 30%
    分析总结 20分钟 20%!!

  • 相关阅读:
    PowerDesigner快捷键
    Android 的开源电话/通讯/IM聊天项目全集
    Android ContentProvider完整案例
    Android中观察者模式的升入理解
    Android中Socket大文件断点上传
    Storm概念学习系列之Tuple元组(数据载体)
    开始使用storm
    Storm概念学习系列之storm的功能和三大应用
    Storm概念学习系列之storm的特性
    Storm概念学习系列之storm核心组件
  • 原文地址:https://www.cnblogs.com/lyx1996/p/6681862.html
Copyright © 2020-2023  润新知