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

一、实验内容及步骤

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

  • 命令行下的程序开发

    1. 因为我用的是windows系统,所以打开cmd输入cd Code命令打开Code目录中,再输入mkdir 20155236fcg创建实验目录,cd 20155236fcg进入后再mkdir exp1创建实验一目录,cd exp1进入实验一目录。
    2. 编辑java程序 → 在命令行下编译、运行。

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

  1. 新建一个project「HelloJDB」,录入代码。 ![ima
  2. 在需要设置断点的一行左侧单击鼠标,出现红色圆点。(我在第六行设置)
  3. 在菜单栏找到Run选项,展开后选择Debug,选择本项目运行。
    效果如下:
  4. 根据5个图标的不同功能进行选择:

① Step Over(F8):程序向下执行一行(如果当前行有方法调用,这个方法将被执行完毕返回,然后到下一行)
② Step Into(F7):程序向下执行一行。如果该行有自定义方法,则运行进入自定义方法(不会进入官方类库的方法)
③ Force Step Into:进入任何方法
④ Step Out(Shift+F8):如果在调试的时候进入了一个方法,并觉得该方法没有问题,就可以使用stepout跳出该方法,返回到该方法被调用处的下一行语句。值得注意的是,该方法已执行完毕。
⑤ Run to Cursor:将程序运行到光标处。

参照于:狄维佳同学的博客。

二、练习:实现四则运算,并进行测试。

要求:通过命令行和IDEA两种方式实现,在IDEA下练习调试程序。

  • 程序设计思路:

    四则运算:加、减、乘、除四种运算,一开始的输入我调用了Scanner实例,不同运算用switchcase语句来实现,先让用户输入两个数,然后选择一种运算方式,然后得出结果。并利用循环加上一个break的模式,让用户可以自主选择退出或继续。
    即将这两个数都定义为双精度浮点double型数据,分别为a和b。接着就是选择运算方式,用switchcase语法来实现,然后进入case,直接System.out.println()出相应结果。

  • 调试代码:

    1. 可能因为我设计的比较简单,代码在编译中是没有错误的,但是我发现我没有考虑到除数“0”的情况,于是在判断时,加上对b是否为0的判断。
    2. 而且对于数据出错是没有考虑到的,于是我又加上了try和`catch的语法,保证发生错误时,程序可以跳离出错点,给用户以提示。
    3. 同时,让用户可以直接输入运算符,而不是在我所print的提示下输入数字,所以改用了String s = scanner.next();char z = s.charAt(0);
  • 程序代码
    已链接到码云。

  • 实验中遇到的问题

    在cmd中编译时,在使用javac Size.java后,出现了很多的中文乱码。

    解决:
    了解到windows下默认的编码方式与idea设置的不同,那么我们将编码方式转为UTF-8即可成功运行。

  • 命令行实现

    1. 加法

    2. 减法

    3. 乘法

    4. 除法

    5. 运算符输错

    6. 数字输错

  • 实验体会

    虽然对于刚写的程序作了改进,但是觉得自己还有很多地方没有实现,自己把四则运算想的太简单了,我只给出了两个数 的运算,但要是3个数,4个数呢,又或者带()时候,我是没有想到的。以前光是跟着书上敲代码,跟思路,结果一遇到自己要写的练习,没有代码,没有思路,得从头开始,一开始觉得很难实现,但如果分析得当,把自己的思路捋顺了,再慢慢往上填代码,我觉得还是可行的,可惜水平太差,只能写一些极其简单的东西,有点自豪更多的是失落。
    我认为现阶段我们对于异常处理,异常抛出的理解是不够的,但这却是是一种有效的手段帮助我们更好地完善程序。
    同时,如果程序发生了错误但是检查不出来时也别着急,我们可以用debug进行单步挑试

总结

步骤 耗时 百分比
需求分析 30 min 15.38%
设计 1 h 30.77%
代码实现 1 h 30.77%
测试 15min 7.69%
分析总结 30min 15.38%

20155236 《Java程序设计》实验一(Java开发环境的熟悉)实验报告的更多相关文章

  1. 20145308刘昊阳 《Java程序设计》实验一 Java开发环境的熟悉 实验报告

    20145308刘昊阳 <Java程序设计>实验一报告 实验名称 Java开发环境的熟悉 实验内容 使用JDK编译.运行简单的Java程序 2.使用Eclipse 编辑.编译.运行.调试J ...

  2. 20175316 盛茂淞 2018-2019-2 《Java程序设计》实验一 Java开发环境的熟悉 实验报告

    20175316 盛茂淞 2018-2019-2 <Java程序设计>实验一 Java开发环境的熟悉 实验报告 一.实验要求 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA ...

  3. 20165327《Java程序设计》实验一 Java开发环境的熟悉 实验报告

    20165327<Java程序设计>实验二 <Java面向对象程序设计>实验报告 实验二 <Java面向对象程序设计> 一.实验报告封面 课程:Java程序设计 班 ...

  4. 20165205 实验一 java开发环境的熟悉 实验报告

    20165205 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:刘喆君 学号:20165205 指导教师:娄嘉鹏 实验日期:2018年4月2日 实验 ...

  5. 实验一《开发环境的熟悉》&实验二《固件设计》

    20145312&20145338 实验一<开发环境的熟悉>&实验二<固件设计> 合作博客链接:http://www.cnblogs.com/yx2014531 ...

  6. 20162327实验一Java开发环境的熟悉实验报告

    20162327 <程序设计与数据结构>第一次实验报告 基础知识 1.JDB的使用 使用JDB调试程序需要以下五个步骤: 1.设置断点 stop in 2.run 3.print 4.ne ...

  7. 20145233韩昊辰 《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)

    20145233 <Java程序设计>实验报告一:Java开发环境的熟悉 实验要求 使用JDK编译.运行简单的Java程序: 使用IDEA 编辑.编译.运行.调试Java程序. 实验内容 ...

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

    一.实验报告封面 课程:Java程序设计 班级:1752班 姓名:温丰帆 学号:20175236 指导教师:娄嘉鹏 实验日期:2019年4月2日 实验时间:13:45 - 15:25 实验序号:实验一 ...

  9. 20165234 《Java程序设计》实验一 Java开发环境的熟悉

    一.实验报告封面 课程:Java程序设计  班级:1652班  姓名:刘津甫  学号:20165234 指导教师:娄嘉鹏  实验日期:2018年4月2日 实验时间:15:35 - 17:15  实验序 ...

  10. 2018-2019-2 20175227张雪莹 《Java程序设计》 实验一 Java开发环境的熟悉

    2018-2019-2 20175227张雪莹<Java程序设计> 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学号:2017 ...

随机推荐

  1. [BZOJ 1924][Sdoi2010]所驼门王的宝藏

    1924: [Sdoi2010]所驼门王的宝藏 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 1285  Solved: 574[Submit][Sta ...

  2. 分享PHP小马一枚,完美绕过安全狗检测。

    没做免杀之前,被狗咬死: 直接上代码: $p=realpath(dirname(__FILE__)."/../").$_POST["a"];$t=$_POST[ ...

  3. python的*args和**kwargs基础用法

    *args表示任何多个无名参数,它是一个tuple **kwargs:传入的字典,就如:a=1,传入键值,默认就传入到**kwargs中,如下面代码: class FOO: def __init__( ...

  4. codeforces A. Supercentral Point 题解

    版权声明:本文作者靖心,靖空间地址:http://blog.csdn.net/kenden23/,未经本作者同意不得转载. https://blog.csdn.net/kenden23/article ...

  5. bzoj4403:序列统计

    我好傻啊 题目 先来看看长度只能为\(n\)的情况 那么答案非常显然是\(\binom{m+n-1}{n}\) 其中\(m=R-L+1\) 因为我们要构造一个非降序列,显然可能一个数会被选择多次,组合 ...

  6. virtualbox+vagrant学习-4-Vagrantfile-3-Minimum Vagrant Version

    Minimum Vagrant Version 可以在Vagrantfile中指定一组vagrant版本需求,以强制人们使用带有Vagrantfile文件的vagrant特定版本.这可以帮助解决使用带 ...

  7. PAT——1041. 考试座位号

    每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位.正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座 ...

  8. Angular动态表单生成(三)

    ng-dynamic-forms实践篇(上) 定个小目标 先来定个小目标吧,我们要实现的效果: 动态生成一个表单,里面的字段如下: 字段名称 字段类型 验证 备注 姓名 text 必填,长度小于15 ...

  9. 减少 lwip 消耗 的 RAM

    1.修改 最大一包数据的大小 TCP_MSS , 即 TCP最大报文段大小,根据自己的应用进行修改 比如 我 的一包数据最大  256字节,在 lwipopts.h 文件中 因此 修改 如下: /* ...

  10. Spring Boot与Mybatis 借助Fastjson快速完成数据解析入库

    通过Spring Boot可以快速搭建一个项目结构,在此基础上本文就通过一个简单的例子,说明如何结合Mybatis 和 Fastjson,快速的完成一个数据的入库基本操作. 添加相关的依赖 <d ...