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. ZT Linux系统环境下的Socket编程详细解析

    Linux系统环境下的Socket编程详细解析 来自: http://blog.163.com/jiangh_1982/blog/static/121950520082881457775/ 什么是So ...

  2. InputStream TO byte

    public class ByteToInputStream { public static final InputStream byte2Input(byte[] buf) { return new ...

  3. SQL进价2:三值逻辑和null

    1.SQL中的bool类型的值有三种 普通编程语言里的布尔型只有 true 和 false 两个值,这种逻辑体系被称为二值逻辑.而 SQL 语言里,除此之外还有第三个值 unknown,因此这种逻辑体 ...

  4. [Python 多线程] threading.local类 (六)

    在使用threading.local()之前,先了解一下局部变量和全局变量. 局部变量: import threading import time def worker(): x = 0 for i ...

  5. Java SPI(Service Provider Interface)

    SPI 全称为 (Service Provider Interface) ,是JDK内置的一种服务提供发现机制. 目前有不少框架用它来做服务的扩展发现, 简单来说,它就是一种动态替换发现的机制, 举个 ...

  6. SharePoint客户端对象模型—任务日历生成

    1,憋了好几天在经理帮助下用Js根据任务列表,生成的个人任务日历. (1)需要用到的CSS样式 <style type="text/css"> th.ms-vh { c ...

  7. 京东7Fresh新零售架构设计分析

    7Fresh是京东第一个线上线下融合落地的零售创新业务模式,店内有大量设备的集成,设备供应商达50多家,针对线下业务的特点,团队独立规划和设计POS收银系统.店内生产系统.加工系统.货架陈列系统.魔镜 ...

  8. Java解析Excel之应用Reflection等技术实现动态读取

    目录树 背景 技术选型 问题分析 技术要点及难点分析 源码分析 测试用例 背景 Tip:因为产品提的需求我都开发完了,进行了项目提测:前天老大走过来说:你用spring-boot开发一个解析Excel ...

  9. 树概念及使用connect by进行级联查询

    树 树,大家都见过,以这种形式的数据关系,就是树.下面看一张图,了解什么是根节点(树干).节点或分叉.叶(叶节点) connect by 级联查询 connect by可以用于级联查询,常用于对具有树 ...

  10. Web | ES6的异步编程

    js对于异步操作有三个解决方案,分别是Promise,generator,async/await. 下面分别说说这三种方案的一些基础. Promise promise对象用于表示一个异步操作的最终状态 ...